CodeCoach for First Code Academy E-learning Platform

  • Score Awaiting client review
  • Date Published
  • Reading Time 4-Minute Read

CodeCoach connects students with certified computer science tutors and lets children learn to program anytime and anywhere.

Story Behind

Since it was founded in 2013, First Code Academy has provided coding classes across Hong Kong, Singapore, and Taiwan. First Code Academy partnered with multinational corporations such as Google, and their work has been featured on Forbes, Wall Street Journal, and other big media outlets.

Michelle Sun, the CEO and co-founder of First Code Academy, has achieved a number of international accolades for her exceptional work, including the Forbes 30 under 30 in Asia (2016) and the BBC 30 Under 30 Women Entrepreneurs (2015).

For developing CodeCoach, Michelle appointed Anadea after a competitive process, and we were pleased to start our collaboration. The initial project aim was to develop the system from the ground up for children that could take accelerated programming courses in the upcoming Summer camp season.

Team Effort

An e-learning platform was delivered within the allocated time and budget, thanks to the team’s technical efficiency along with the proactive participation of the First Code Academy team.

This collaboration along with fine-tuned teamwork allowed us to solve challenges quickly, balance priorities flexibly, ensure the project was completed quickly as per the client’s goals, and to ensure it was launched in time for the busy Summer camp season.

Main Features

Shared code editor

Code editor for Python allows Tutor and Student to write code simultaneously, in real-time.

Chat & Video

Online video conferences and chat works in different browsers including those that are popular in the Hong Kong region.

Screen sharing

The screen sharing feature is working seamlessly in browsers popular in the Hong Kong region, such as QQ and 360 browser.

Admin dashboard

A handy tool for managing classrooms, students, and tutors.

Python executor

The executed code is managed from the front end using web sockets. For security and stability reasons the code is executed in a separate Docker container.


At the start, the project team faced the following challenges: a strictly defined release deadline and some level of uncertainties about features for the first release. The business analyst took a deep dive into the project details, helped to form the system’s vision, defined requirements, prioritized features for the releases, and created the document outlining the scope of work. With the agile approach, the development team overcame difficulties with the project moving forward and adjusting to changes at the customer’s vision of some application features.

Thanks to close cooperation with the customer, some features were changed, some were added, and some were pushed to the second development phase. To demonstrate the progress and gather feedback, the team performed weekly demos. The challenge the team faced was to enable screen sharing in different browsers including those that are popular in the Hong Kong region, such as the QQ browser and 360 browser.

The thing is that each browser has different requirements to implement the screen sharing feature. For example, all chromium-based systems require a special plugin developed and installed to allow sharing the screen within the browser. One more challenge that our team overcame was executing the code in a separate Docker container, which was supposed to be managed from the front end using web-sockets. This task was crucial to implement to ensure the stability and security of the application.


First Code Academy suggests CodeCoach as a problem-solving solution for children whose parents can’t get them into offline coding classes.

As first-time codders, children need one-on-one tutoring and assistance, and CodeCoach makes CS and coding education available to them.

With CodeCoach the customer changes the approach to coding education for the better.

Technology stack

RoR, Node JS, React JS, Socket IO, WebRTC, Firebase, Docker.