SaaS application for developer recruitment

HackerEarth is a startup that creates technology solutions to streamline the developer hiring process. One of their web applications, HackerEarth Recruit, allows recruiters to filter candidates by creating online coding tests, sending it out to prospective candidates and choosing the best ones based on performance. In May 2014, I joined HackerEarth as their first full-time designer. The beta version of HackerEarth Recruit was already live and was being used by some users.

Design Brief

I was assigned the task of designing the next version of the application with added features, which were suggested by the founders.

5 member team: 2 founders, 2 developers, me
Project duration: 3 months

My role and process

  • Interviewed the founders and the customers to understand the problem space and the rationale behind feature suggestions
  • Suggested new features based on research
  • Created flows to conceptualise the new design
  • Brainstormed interaction design ideas and created paper wireframes to materialise the flow
  • Create mockups for the different screens and interaction states

Due to the fast pace of work, we followed a lean process without much documentation. Our entire team would sit around the same table all day and much of the communication happened verbally or through sketching on paper.


The new design helped HackerEarth launch the Recruit application publically and gain new customers and more business. It was very well received by recruiters from companies like Symantec, FreshDesk etc.

Understanding the problem

Since this space was completely new to me, before jumping into the design, I wanted to understand how developer hiring worked. So, I interviewed the founders, who knew this industry well, about how the hiring process worked and the rationale behind the features that they had suggested. I also talked to some existing customers and looked at past customer support queries. Using these, I was able to understand:

New feature suggestions

From the research, I also identified needs that were not being satisfied with the feature list that was proposed by the founders. So I suggested adding the following functionality:

  • Draft and publish test – Because multiple people handle different parts of the test creation process before the test is actually made live
  • Duplicate Test – Users might need to modify an existing test only slightly for another recruitment drive
  • Review email before sending to candidate – Users might want to review email content or add custom information
  • Filter, sorting, searching in candidate reports tables – So it is easy for recruiters to find specific candidates from hundreds of test takers based on their choice of parameters
  • Help videos – that are embedded in the appropriate contexts in the application to scaffold the user’s learning
  • Customer feedback plugin – So user can report the problem in context and we get more data

Updating the flows

With the strong understanding of user’s process and needs, I deconstructed the existing application and analysed it at the system-level to find the right location for the new features in the flow.

New design as paper wireframes

To approach the interface design, I divided the application it into four parts–creating the test, inviting candidates, viewing reports and filtering candidates, and candidate’s view of the test. Then I took the flow for each of these parts and brainstormed ideas for the interaction design. These were regularly discussed with the founders and iteratively improved.

Visual mockups

Simultaneously, I also created mockups in Photoshop. Once we would finalize one flow in the visual design, the tech team would start developing the front-end for finished screens and linking them with the back-end. The final polishing of the application was done directly in the code.

These sample mockups have been updated from the original ones. They include changes made based on the feedback we then got from the users and my own improvement in design skill.