# HackerEarth Technology Stack

DevFeed: [HackerEarth Technology Stack](<https://devfeed.tech/articles/hackerearth-technology-stack-19979.md>)

Original publisher: [Read original article](<http://engineering.hackerearth.com/2013/03/20/hackerearth-technology-stack/>)

Published: 2013-03-20T00:00:00Z

Content type: article

Language: en

Sources: [HackerEarth](<https://devfeed.tech/sources/hackerearth.md>)

Topics: [Back end](<https://devfeed.tech/topics/backend.md>), [Django](<https://devfeed.tech/topics/django.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>), [App](<https://devfeed.tech/topics/app.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [backend](<https://devfeed.tech/tags/backend.md>), [code](<https://devfeed.tech/tags/code.md>), [django](<https://devfeed.tech/tags/django.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [software](<https://devfeed.tech/tags/software.md>), [technology](<https://devfeed.tech/tags/technology.md>), [technology-stack](<https://devfeed.tech/tags/technology-stack.md>)

## AI overview

This article describes HackerEarth's technology stack, centered on a Python/Django backend and extensive use and customization of open-source software. It discusses shared authentication, a generic newsfeed and notification system, user-action polling, modular Django applications, Amazon S3 image delivery, customized search backends, and a code-checker built from scratch.

## Source excerpt

Originally posted as Quora answer. This might take a while, so go grab some popcorn. You are going to enjoy this :) At HackerEarth, we deeply believe in open-source. Why not, our roots are in there. We use open-source software, hack it according to our needs and create something amazing out of that. At the same time, we don't fear writing a seemingly complex project from scratch and turn it into beautiful piece of code. And we have done that so many times in a very short span. Our application backend is primarily in Python/Django. We modified django-allauth for some of our custom needs. For example, it allows you to login on all sites - HackerEarth, MyCareerStack, and CodeTable with the same login credentials. We modified the django-threadedcomments for spam control (they can really eat you inside!) and enhanced moderator permissions. We wrote our own generic newsfeed system from scratch which can be plugged with any information schema to generate feeds. For example, the feed that you see on MyCareerStack and the recent submissions that you see on HackerEarth, they all come filtered from the same core engine. This feed engine will form one of the core of the upcoming platform and there are some interesting work being done in there - like faster filtering with advanced algorithms, implementation of relevant feed system, and other exciting stuffs. We wrote a notification engine on top of newsfeed system which generates notifications for you. These are part of MyCareerStack for now but as we integrate everything, they will be core of the whole product. We also wrote a generic poll application which tracks all the actions of a user on any item. For example, upvote/downvote on a question, like/dislike on a tutorial, etc. are all powered and regulated by the same application. These user actions can be easily integrated with any object model e.g. programming problem with small snippets of code. As this application develops, we will make it open-source eventually. We did so