What went behind building HackerBlocks 2.0 ?

Unlike  any other system design requirements, working on a complete UX revamp  of a product that has been in existence since the last 2 years was a  refreshing experience. We were not building something from scratch. We  had a perfectly running software which was serving our purpose.

Redesigning a website

The  first question which would probably come to your mind is the why. Why  to revamp a product experience ? Answer to it is simple, but manifold.  You want your users to have a delightful experience while using your  product. You have seen its shortcomings, you have seen its strong points  and you know that it needs a revamp. The more important question which  should come to your mind is when to do it ? The answer is more complex  than it might seem. In a startup, you’ve tons of new ideas to work on,  thousands of pending bug fixes/improvements, other jobs which might not  fall under your KRA but you have to do it because no one else has the  time or the resources, so how do you decide to leave all of them and  start working on the revamp of an old product.

HackerBlocks was  one of the most used products by Coding Blocks back in 2017. Well, it  was kind of the only usable product. Kind of. In May 2018, we came up  with a revamped version of Online Coding Blocks, our course consumption  platform. Within the initial few days we saw an increase in the course  sales by almost 100% and positive user feedback. Online Coding Blocks  then left behind HackerBlocks and became one of the most used products.

This  was a big win for us since the tool which made us money was on the rise  and was performing better than the rest. The question still remains,  why did we decide to do a revamp and a rewrite of the product that was:

1. Free to use,

2. Was being used by more than 30k developers across the world,

3. Was helping us create awareness about programming in tier-2 & tier-3 cities of India,

4. Was responsible for evaluation of assignments being submitted by students (Classroom and Online)

Answer is, all the above points along with tech-debt.

Tech debt


HackerBlocks  was written way back in 2015-2016 as a hackathon project and all the  features were being implemented on top of that. That meant a lot of  tech-debt, so much so that any new feature that we decided to build,  took 2x amount of time it would have taken otherwise because of the bad  conditions we had to write the code in.

Hence, we decided to give  it a revamp along with a complete rewrite. At, Coding Blocks we have  multiple varied products in our bouquet to offer which also work as  different services for our service oriented architecture. We have Online  Coding Blocks and HackerBlocks, as mentioned earlier. We have dukaan,  accounts, IDE, discussion forum, boss and many others.

Focus on what users do, but never lose sight of what users say. Deliver on needs, but build for aspirations.

In  mid 2018, one of the major issues being reported by our users was that  they used to get lost between the different products because of the  redirection strategies that we had. Our support had to dictate the URLs  that our users had to go in order to get the work done. For example,  we’d tell them if they want to update their profile, they've to go to  account.codingblocks.com. If they want to attempt contests then go to  hack.codingblocks.com. This was a cumbersome process, not only for the  users but also for our support team as well.

A similar feedback  from our rest of the users brought us to the realization that as a  startup of young software developers with 1-2 years experience, we were  designing these tools as a software developer would. But, hey, what's  wrong with that ?

Be aware of your privilege. You and your user have very little in common.

The  people for whom we were developing these softwares for, were not the  same as us. Once we understood this paradigm, we were introduced to a  whole new world of behavioural science and its application in designing  products.

So, we knew that HackerBlocks needed a revamp and we  also knew that we somehow had to provide a unified experience for the  different products that we have. We were a team of super talented  software developers with some awesome interns around us and we could  practically complete all the requirements within record time. Even after  that we could always feel that something was missing and customers were  not as happy as we’d expect them to be.

Before working with  Coding Blocks, I used to work with Practo and one of my favorite mentors  at Practo once told me that, “In a startup, you don’t have positions,  you have people.” Which basically meant that you’re responsible for the  growth of the company as a whole rather than just justifying your own  position when you’re working with a startup.

I had taken up  psychology as a personal project in 2017 in which I got introduced to  behavioural science and I’ve been also leading the tech team at Coding  Blocks. Someone who knew the technical side of the products and how they  can be connected with each other to provide a wholesome experience for  our customers. This was my motivation to make a jump from being a  software guy to a product guy.

What makes a good product great?

We  had lots of interactions going for us in our old tool, every month  around 5k users would take part in our contests in some form or another.  We wanted to improve their experience.

We started with a  feedback from our Mentors and Teaching assistants as they were the  people who either created those contests or attempted similar contests  at other platforms. One of the key lessons that I’ve got after working  as a leader, is that you don’t always have to be right, you have to get  it right. You’ve to work with smart people who help you steer in the  right direction. You’ve to insist people to tell you when you’re  wrong.

We received some amazing insights but most of them  concentrated on what someone else was doing in a better way than us. As a  startup, we’ve always focussed on first principle thinking, so the next  question which came naturally was why people like those features.

After  a drill down we could classify the feature sets that people had liked,  into 5 motivators given by self determination theory.

1.  Competence (Ability to do something efficiently)

2.  Mastery (Desire to get better)

3.  Purpose (Yearning to be a part of something larger than ourselves)

4.  Progress (Desire to see results associated with mastery and purpose)

5.  Social Interaction (Need to connect with others)

Self Determination Theory

These 5 motivators are also at the core of gamification mechanics.  As human beings, we are hardwired to be satiated by the fulfilment of  these motivators. We revisited the features, with a new mindset this  time and came up with some new features of our own.

Gamification

To understand the context better, let’s visit some of the new features that we’ve added to our platform along with their descriptions and the motivators they’re linked to.

Fast Feedback

One  of the key highlights of this release was a super smooth user  experience. On an average a users have an attention span of 5-8 seconds.  Immediate feedback or response to a user after he/she performs an action on our platform gives him/her a sense of Progress.

Transparency in terms of LeaderBoards

We’ve  integrated 6 different classes of leaderboards where our users can  quickly analyse where do they stand as compared to others quickly and  easily. They can also click and go to someone’s profile page and see  their actions on the platform too. This helps us to create a community  of software developers who can interact with one another to create a healthy competitive environment.

Badges

User can now earn and display evidence of their accomplishments which others can see

-Mastery, progress, purpose, social interaction

DCB (Short term goal)

HackerBlocks  has a feature named DCB, Daily Code Byte, where in a user is given a  problem to solve on a daily basis. Doing a complete assignment might  seem like a big task but one problem a day can make you do over 300  problems in a year to help you become the master of programming. This  helps our users in defining a purpose and track progress in real time. What more ? If you solve a DCB for 7 days straight, you get a Streak Master badge. Sounds cool ? Give it a try now !

On-boarding – Dashboard experience

As  soon as a user enters our platform, he/she gets to see a dashboard. On  this dashboard, we’ve provided user some of the analytics like:

  1. All time best ranking
  2. Current ranking
  3. Performance from last month

We’ve  also added CTAs to other important features, like DCB, Competitions etc  to give the user a choice according to which he/she can decide how  he/she would want to spend the time on our platform. They can quickly  and easily in an engaging, compelling way.

-Mastery, progress

Competition – Contests

We’ve introduced different categories of contests and competitions on our platform.

CodSule which is a year long competition and has monthly editions.

4  categories of contests namely, hiring, course, colleges and admissions.  User can see how well they are performing against others and challenge  them (directly or indirectly).

-Mastery, social interaction

Collaboration and community – Discuss integration

-We’ve  incorporated discussion threads in our platform where our users can  have discussions related to the problem that they’re trying to solve.  This helps to create a community where people help others to achieve  their goals.

-Purpose, social interaction

That’s  not it, throughout the whole product lifecycle starting from  understanding the why’s to figuring out the how’s, there were n-number  of opportunities to gamify the experience and making the product more  engaging and rewarding for our customers. Keeping the element of  surprise, we urge you to try the platform yourself. Months of coding  can't be justified in one article and your curiosity can't be quenched  in a 5 minute read. So, go ahead and try out our new platform to get a wholesome experience.

HackerBlocks 2.0

We’re  a team of extremely talented Software Developers and Product Designers  and HackerBlocks is our way of giving back to the society where we came  from and are still a part of, we’re here to add value in the life of our  students and users. By giving timely rewards, and utilising the  gamification mechanics efficiently, we’ll be able to build a more loyal  customer base who’d actually want to use our other products and services  instead of relying on discounts and other such false promises.

Check it out now at https://hackerblocks.com