Computing accurate skill percentile with DDSketch
An architectural overview of our global benchmarking of candidates
Raunak Choudhary | 17 Sep 2023
Logging millions of requests reliably with our new data ingestion pipeline
An architectural overview of our request logging pipeline
Jagannadh Vangala | 01 Jul 2022
Building a reliable asynchronous job pipeline
How we leveraged AWS services to build a scalable and a fully managed asynchronous flow
Jagannadh Vangala | 17 Jun 2022
How to set a React Component or dom element as a background image
My internship experience at HackerEarth
Ashu Deshwal | 12 Aug 2021
Zero to One and Beyond: HackerEarth's journey to Continuous Delivery
The journey to transform HackerEarth's DevOps Culture
Navaneethakrishnan R | 01 Aug 2021
How I built my first search component in React
From the vault of my memories before joining HackerEarth
Chandransh Srivastava | 17 Jul 2020
Hassle-free automated assessments
A simplified and automated skill-based test creation
Chandransh Srivastava | 02 Feb 2020
Profiling Django views with Scooby profiler
With scooby profiler, you can debug SQL/Memcache queries while serving requests in Django. The profiler works well in case of AJAX requests.
Shubham Jain | 20 Sep 2018
What you see is what you get!
Integration of WYSIWYG editor in HackerEarth's Recruit platform
Himanshu Malhotra | 19 Jul 2018
Introducing Nuskha
How an internal hackathon led to our own front-end framework
Chandransh Srivastava | 07 Jul 2018
Streaming Android applications via the browser
Comprehensive guide to setting up remote emulators and interacting with them from the browser
Vishal Gowda | 03 Apr 2017
Monitoring and alert system using Graphite and Cabot
Setting up an alert and monitoring system for a product using Graphite and Cabot
Karthik Srivatsa | 21 Mar 2017
Leveraging ReactJS in HackerEarth Assessment Environment
How we leveraged ReactJS to build a faster and interactive programming assessment environment
Ravi Ojha | 07 Mar 2017
WTF is MVP ?
The MVP architecture blueprint
Vishnu Sosale | 17 Nov 2016
Sending emails to our half million and growing user community
Email infrastructure at HackerEarth.
Kaushik Kumar | 11 Feb 2016
Beautiful Math Symbols
Supporting LaTex for writing math symbols on HackerEarth
Pradeep Kumar | 02 Feb 2016
Analyzing submissions in real time for social media updates
Story: How we made a real-time app to automate marketing
Sreeram Boyapati | 02 Feb 2016
Profiling django views for SQL queries
We created a SQL profiler for python functions which tells what exact expressions inside the function body triggers some network call like SQL queries by manipulating AST (Abstract Syntax Trees) of function code.
Shubham Jain | 01 Feb 2016
Smart suggestions with Django, Elasticsearch and Haystack
Giving relevant suggestions using Elasticsearch and Haystack in Django
Karthik Srivatsa | 29 Jan 2016
Managing roles and access control in a web application
Manage admin roles and restrict access to features.
Aishwarya Reddy | 29 Jan 2016
Logging Javascript errors in production
Integration of errorception javascript logger on HackerEarth to catch issues in production.
Shivindera Singh | 29 Jan 2016
A/B testing using Django
How to implement a basic A/B testing framework in Django.
Arindam Mani Das | 29 Jan 2016
HackerEarth Question Library: Stats, Usage Analysis and Health
Feature that helps recruiters to choose the best questions for candidate assessment out of thousands of questions we serve in our library
Ravi Ojha | 31 Oct 2015
Logging millions of requests everyday and what it takes
HackerEarth's web servers handle millions of requests every day. These request logs can be analyzed to mine some highly useful insights as well as metrics critical for the business. For example, no. of views per day, no. of views for each product, most popular user navigation flow etc.
Praveen Kumar | 26 Feb 2015
Patching django sessions to control user sessions
HackerEarth uses django framework at its heart. We use two third party packages django-allauth and django-redis-sessions for authentication and session management.
Virendra Jain | 14 Feb 2015
Building a powerful comment system
Comments have become an integral part of our website. They are integrated almost everywhere-challenge, practice problem page etc. and soon will be added to few more pages
Lalit Khattar | 27 Jan 2015
Aggregating Apache logs with Fluentd and Amazon S3
HackerEarth infrastructure is hosted on Amazon services. At any given point of time many webservers are running concurrently serving thousands of requests.
Virendra Jain | 17 Oct 2014
Using APIs with Python Requests Module
How HackerEarth uses Python Requests to fetch data from various APIs [Tutorial]
Sayan Chowdhury | 21 Aug 2014
HackerEarth Streak: An exciting data about your HackerEarth activity
Code Streak: Maximum number of unique problems solved continuously Day Streak: Maximum number of days such that one new problem is solved each day...
Ravi Ojha | 18 Jun 2014
Using Google Data APIs with django apps
In order to use any of the Google APIs for your application, first you need to set up a project in the [Google Developer's...
Virendra Jain | 07 Jun 2014
Post-mortem: The big outage on January 25, 2014
25th January was a rather unfortunate day for us. The monthly challenge - January Jackpot 2014...
Vivek Prakash | 27 Jan 2014
Programming challenges, uptime, and mistakes in 2013
HackerEarth hosted more than thousand contests in the year 2013 alone. Out of them, there were more than two...
Vivek Prakash | 22 Jan 2014
Introducing CodePlayer - watch your code like a movie
Ever thought of sharing solution of a coding problem in form of a video with someone, to teach them how you implemented the solution. Or, wanted to see...
Lalit Khattar | 21 Jan 2014
Scaling Python/Django application with Apache and mod_wsgi
HackerEarth is primarily based on Python & Django. And we use Apache with mod_wsgi for hosting the application. There is a general complaint that Apache sucks...
Vivek Prakash | 21 Nov 2013
Scaling database with Django and HAProxy
we use MySQL database as the primary data store. We have experimented with a few NoSQL databases on the way, but the results have been...
Vivek Prakash | 07 Oct 2013
The HackerEarth Data Challenge
40,000+ programmers use HackerEarth. Everyday, people from all over India and other countries submit code on HackerEarth, solve problems and participate in online coding tests...
Vivek Prakash | 13 Sep 2013
HackerEarth API v2: Introducing asynchronous callbacks
We had already published HackerEarth API v1 in February, 2012 at (http://developer.hackerearth.com). The API v1 was synchronous in nature. This means that your request kept hanging until the code...
Vivek Prakash | 09 Sep 2013
Continuous Deployment System
This is one of the coolest and important thing we recently built at HackerEarth. What's so cool about it? Just have a little patience, you will soon...
Lalit Khattar | 05 Aug 2013
Scheduling emails with celery in Django
After a long journey with Django, you come to a place where you feel the need to get some tasks done asynchronously without any supervision of human. Some tasks need to be scheduled to run once at a particular time or after some time and...
Shubham Jain | 05 Jun 2013
The Robust Realtime Server
This is going to be a long blog post but I promise you will find some interesting piece of engineering here, so stay till the end...
Lalit Khattar | 31 May 2013
HackerEarth Technology Stack
Description of technology used by us in building HackerEarth.
Vivek Prakash | 20 Mar 2013
Analytics for Challenges
Detailed Analytics of data retrieved from challenge
Sayan Chowdhury | 13 Mar 2013
100,000 strong - CodeFactory server
January 2012 was an idyllic time for us. Three of us had just teamed up [to build something...
Vivek Prakash | 12 Mar 2013
Vim plugin to compile/run code using API
I love Vim editor. And the idea of a plugin to compile and run code from my favorite code editor sounded exciting....
Lalit Khattar | 11 Mar 2013