Product EngineeringEducation & Training

Lernern Mobile Learning App

We built Lernern's Android learner app from scratch, publish it on Google Play and have maintained it for 3+ years, across about 20 releases.
01

The Brief

Lernern trains and places people into jobs across India. Its learners use the app to take skill-based courses, attend online and onsite classes, sit exams and apply for jobs. They arrive in three different ways: self-registered candidates who sign up in the app, students enrolled through a partner skill centre, and trainees placed through a client organisation. Each learner sees only their own data, and a message about a class, exam or document takes them straight to it.

02

The Approach

One Learner App for Three Kinds of Learner

We built the app from scratch, published it on Google Play and run its releases, including the store-account setup; the store account itself is owned by Lernern. We have developed and maintained it for over three years, through about 20 releases. Lernern chose the stack (Ionic, Angular and Capacitor), which lets one codebase be packaged for Android and iOS; the app is available on Google Play for Android only. The app has no backend of its own: it calls the same Core API as the admin portal, and the learner's user type decides which data it reads. Course content comes from Gooru's embedded player, and push messages are delivered through OneSignal.

Screens

In the App

Screens from the Android app.
View on Google Play
What the app does

Product Surfaces

Three parts of the work that decide whether the app feels dependable to a learner.
Three kinds of learner, one app

Learner journeys

Self-registered candidates, skill-centre students and placed trainees all sign in the same way. The user type decides which data the app reads, so each learner sees their own courses and documents.

  • Mobile number with OTP, email, or Google sign-in
  • Courses, My Course progress and the embedded Gooru player
  • Classes, exams, jobs and applications
  • Profile and Document Centre
  • Queries and contact, tracked in the app
Push that opens the right screen

Notifications and deep links

A push message or deep link opens the exact class, exam or document it is about. If the learner is signed out, the app holds the destination and opens it after sign-in.

  • Session reminders open the class details
  • Exam notifications open the matching exam
  • The held destination survives sign-in
  • Delivered through OneSignal
Builds, store and releases

Release operations

We run the builds, store submission and releases for the Google Play account that Lernern owns, about 20 releases over three years, with a forced-update check so learners on an old build are prompted to update.

  • Android builds from the one codebase
  • Google Play submission and release
  • Store-account setup
  • App-version check against the API
Sign-in to job

Learner Journey

What a learner does in the app, from first sign-in to a job application.
  1. 01
    Sign in

    A mobile number and a one-time code that Android reads automatically, or email and password, or Google. A forgotten password is reset with a code sent by email.

  2. 02
    Learn

    Browse the course catalogue, apply, then follow My Course: progress, time spent, the current quiz and the next online class, with the content in the embedded Gooru player.

  3. 03
    Attend

    Online and onsite class details show the module, competencies, duration and the Zoom link, and a session reminder opens the class directly.

  4. 04
    Examine

    Exams are listed in the app, and each one shows the learner's shift assignment, admit card and marks. An exam notification opens the matching exam.

  5. 05
    Apply

    Browse jobs, apply, track applications and receive offer letters by email. Questions and complaints go through a queries list in the app.

What it gives learners and Lernern

Benefits

What a dependable learner app means in practice, for the candidates who use it and the team that supports them.
61,000+Candidates on the platform
3+Years of development and maintenance

Simpler sign-in

On Android the app reads the one-time code from the text message, so the learner does not type it. Signing in is simpler and friendlier, with email and Google as fallbacks.

Course content that stays current

Gooru publishes new player versions to the CDN the app loads from, so learners get player updates without waiting for an app release.

Messages that land on the right screen

A reminder or exam notification opens the class, exam or document it is about, even if the learner has to sign in first.

Releases handled for Lernern

We run the builds, Google Play submission and releases, about 20 so far, with a forced-update prompt so learners are not left on an old build.

Behind the screens

Under the Hood

The small mechanisms that keep a learner app dependable across releases.

Sign-in that stays out of the way

On Android the app reads the one-time code from the text message, so the learner does not type it and signing in is one step shorter. Email and password and Google sign-in remain as fallbacks.

One app, three learner types

Self-registered candidates, skill-centre students and placed trainees share one app and one sign-in. The user type decides which records the app reads, and usage is tagged by user type.

Notifications that open the right screen

A push opens the exact class, exam or document it is about. If the learner is signed out, the app stores the destination and opens it once they have signed in, so the message is not lost to the login screen.

Session expiry handled in one place

A single request interceptor attaches the learner's token to every call to the API. When the API answers 401, the same interceptor shows a session-expired prompt, so no individual screen has to handle it.

Forced-update prompts

The app checks its version against the API and prompts the learner to update when a release is required. That matters across about 20 releases, when learners do not all update at the same time.

Course player from Gooru

Course content, quizzes and progress come from Gooru's embedded player. Gooru builds the player and publishes new versions to the CDN the app loads it from, so player updates reach learners without an app release from us.

Stack

App
IonicAngularCapacitorTypeScriptRxJS
On the Device
SMS RetrieverOneSignalGoogle Sign-InCamera and image cropper
Services
Lernern Core APIGooruFirebaseZoom

What This Project Means For Us

A learner app is judged by small moments: a sign-in that does not ask for a code to be typed, a notification that opens the class it was about, an expired session that says so instead of failing. This app was built from scratch and has been kept running for over three years, through about 20 releases, on a stack Lernern chose. It shares its API with the admin portal described in the combined LMS study, and because we also run its Google Play releases, what we build reaches learners and stays current.

Engineering Notes

A learner app we built, publish and maintain on Google Play, on a stack chosen by Lernern

  • Mobile OTP sign-in with Android auto-read, plus email and Google sign-in
  • One app for self-registered candidates, skill-centre students and placed trainees
  • Push notifications and deep links that open the exact class, exam or document
  • Destination held while the learner is signed out and opened after sign-in
  • A single request interceptor that attaches the token and prompts on session expiry
  • Forced-update prompts from an app-version check against the API
  • Gooru's course player loaded from Gooru's CDN, with player updates arriving without an app release
  • Document Centre for identity, education and other certificates, uploaded or shared from the phone
  • Firebase usage analytics in production, tagged by learner type
  • One Capacitor codebase that can be packaged for Android and iOS; the app is available on Google Play for Android only
  • Builds, Google Play submission and about 20 releases run by Cloud Ripples

One partner across a portfolio of media projects

We've brought Cloud Ripples into a wide range of engagements across our media and entertainment work, and they adapt quickly to each one. Whether it's a greenfield product build or a DevOps engagement on an existing platform, they come in with the right people, ask the right questions early, and deliver without needing to be managed closely.

Sreejith ParthaCEO

A trusted engineering partner for over 15 years

Cloud Ripples has been part of Gooru's engineering team for more than fifteen years, building and maintaining our applications and managing the cloud infrastructure they run on. They've scaled with us through every stage of our platform's growth, and their reliability, ownership, and deep understanding of our systems have made them a genuine extension of our team rather than a vendor.

SriniCo-founder & CPO

Cloud Ripples developed and now maintains our ERP application across web and mobile

From consultation to delivery, they were professional and insightful. They understood our needs and exceeded expectations. They also handled infrastructure design, hosting, and 24/7 server monitoring, ensuring smooth operation and peace of mind.

VaibhavDirector Operations

Cloud Ripples Support Has Been Essential to Our Success

A reliable and responsive partner, Cloud Ripples handled our diverse tech needs and the complex DEI Toolkit customization with skill and positivity. Their support means a lot to us.

Kris KewitschExecutive Director
Practical Logix logo
MyGooru logo
Lernern logo
Charities Review Council logo
Our Work

Case Studies

Real-world solutions we have delivered — from cloud migrations to product builds.
Multi-Region AWS Migration
Cloud MigrationMulti-Region AWS Migration

Region-to-region AWS migration for a live surf forecasting and camera-streaming platform: 718 resources across 20 services and three accounts, cut over with minimal downtime.

Read the case study
AWS Workspaces for Biotech Teams
Virtual Desktop InfrastructureAWS Workspaces for Biotech Teams

Virtual desktops for a biotechnology company's contractors and BYOD staff: ten role-based AWS Workspaces images joined to the client's own Active Directory, built to their HIPAA and HITRUST obligations.

Read the case study
Aptible to AWS Migration
Platform MigrationAptible to AWS Migration

Moving HIPAA-regulated Python microservices off a managed PaaS onto AWS: three environments rebuilt as code on ECS Fargate, PHI isolated in its own account, and roughly 60% off the monthly run-rate.

Read the case study
Lernern Skilling and Placement LMS
Product EngineeringLernern Skilling and Placement LMS

Lernern is a skilling and placement provider in India. We designed, built and run its learner management system: a staff admin portal, a learner app for Android and iOS, and one NestJS API — about 740 endpoints — behind both.

Read the case study
Contact us

A free consultation — with an engineer, not a salesperson

Tell us what you are trying to build, fix or migrate. We will look at your architecture, your costs and your risks, and come back with a recommendation in writing — whether or not it turns into an engagement.

Someone who has read up on your stack before the call
A working session on your actual problem — not a product pitch
An honest view of what you need, and what you do not
A written proposal with fixed scope and cost
The same engineers delivering it, and supporting it afterwards
+91 8939464343
No. 403-404, Third Floor, NSIC Software Technology Park
Ekkatuthangal, Chennai - 600032, INDIA
View On Map
Schedule a free consultation