Community Learning App
Community Learning App For An EdTech Organisation
Enabling the youth to an empowered professional future with the partner
Timeline
ongoing
Industry
Education
Location
India
Project
Development and support
Year
2021
  1. Strategy

    Our collaboration with the client, based on the time and material model, which started early this year and is still ongoing revolves around building and refining a professional development application.

    1
  2. Analysis Planning

    Given the requirements of the project, we decided to go with React Native for the Frontend along with Node for the Backend for the scalability that they offer. Meanwhile, deployment was handled using Codepush.

    2
  3. UI/UX

    The client required the app to have an interactive experience because of which the design team had to implement apt screens which would improve the UX of the app.

    3
  4. Development

    The development phase of the app involved the implementation of a feature to schedule events, voice based chat rooms along with a functionality for users to market themselves.

    4
  5. Testing

    Rigorous testing was a constant part of the procedure and the team conducted stringent QA tests on a regular basis to fix bugs as and when they arise.

    5
  6. Delivery

    The work on the project is still ongoing with the second version having been launched just recently. New functionalities are constantly being implemented to improve the user experience of the project

    6
About the Client

The company was established in India by a group of visionaries who wanted to enable the youth of the country to achieve their professional goals. Their aim was to revolutionize learning by coming up with short courses on the most in-demand skills on their offering, a learning app. The founders’ idea was to establish niche communities wherein millennials could learn new skills through a unique mentorship program.

The Problem

Their offering is a unique platform which seeks to help the youth of their country expand their horizons through community learning. While the concept of communities was not new, there were not many platforms that provided all the features of an ideal community-driven platform.

Following an organic search for the best React Native developers, the client singled us out as the right tech partners for their venture. The partner’s development team decided to collaborate with us in an attempt to solve this problem and our discussions led to the partnership which started around eight months ago based on the time and material model.

Team On-Call

After going through the requirements that the project would entail, two developers under the guidance of a tech lead were roped in for the project. Both developers had a good understanding of React native so they were a good fit for the project. The tech lead himself is a React Native enthusiast so that made them a good mix for this project.

Requirements

The client required us to implement the ability to schedule events along with live video streaming.

The app was to feature voice-based chat rooms to provide users with an interactive experience.

A feature to enable the influencers to sell their product and services was also integrated.

Development

After formally introducing the team to the client and having set the requirements in place, we got the wheel in motion for the development process. The partner had been hearing feedback around other similar apps for a long time and this gave them the expertise and the edge to position the product in just the right way. 

Given the tight deadlines and a promised presence across platforms, React Native was the best choice here and it was mutually agreed by our development team and the client. Node was the choice for backend development due to its ability to scale up quickly and having non-blocking, input-output operations make it one of the speediest options available. We used Codepush for CI/CD due to its ability to deploy mobile updates directly to the user’s device along with Bitrise. The whole selection of stack clearly indicated a focus on sharp and fast delivery.

Since the app was already built but running into optimization issues, the client primarily required us to optimize the app to increase the number of listeners in voice-based chat rooms. When they came to us, the app was crashing after 19-20 listeners were joining the chat rooms. This was due to the poor code quality from the client’s side. Our team started with cleaning of the code and the app can support more than 1000+ listeners currently. The next step was to update the app by creating a new version where we included a video-based chat option. Version one only has voice-based chat rooms so adding a video chat option was a major upgrade. Following this, we added a feature for a text-based channel where the community could interact via text along with a feature to play games online with other players. The app is currently in its Beta stage where we are working on developing a virtual chill zone so that it is more in sync with the idea of the community-based application.

Stringent QA processes were a continuous part of the project with both our team internally testing as well as offering the product to a user base to gauge their experience.  A lot of bugs were reported each day by the initial users, who also happened to be members of the community. The initial events on the application were hosted by the founders themselves to ensure usage, adoption and bug reporting.

Overcoming Challenges

The team primarily ran into issues when it came to planning the project which was mostly because of the tight schedules and the stringent deadlines that the project came with. This was fixed by efficient project management and the team's willingness to work collaboratively to meet the requirements by planning achievable sprints. The application was built on the fly and in the absence of typescript the code didn’t look DRY or scalable at the start which was a potential problem. This was when the tech lead decided to take a step back and re-work the whole approach.They also considered code splitting and refactoring wherever possible. 

In bird's eye view
  • React Native was the choice of framework for the cross-platform app with Node as the backend.
    • Communication was carried out through Slack and Gathertown.
      • Bitrise and Codepush were used for version control and Notion docs along with Jira were used to manage tasks.
        Final Impression

        While the work on the project is still ongoing with the second version of the app being While the first version only had voice-based chat rooms, the second version comes with most of the features that were initially expected like live video streaming, text-based channels, online games etc. The launch of the beta version had been an imminent success and the GeekyAnts team is still at work trying to refine the user experience by integrating new features and fixing the existing bugs.