Case study 01 · Chimple Learning7 min read

The operating system
for 800 schools.

Chimple runs tablet-based learning in Indian government schools: 31 programmes, 30,000 children. As the only designer, I built the Ops Console the whole operation runs on, from the director’s overview to the coordinator at the school gate.

Role
Sole product designer
Team
Founder, product director, engineers
Scope
0→1, web + mobile
When
Jan 2025 – present
Ops Console · Programs

Programs

All Programs At School At Home
Program Name Total
Schools
School Division Onboarded
Students
Activated
Students
Active
Users
Avg
Engagement
Onboarded
Teachers
Activated
Teachers
Active
Teachers (HW)
Math Mastery ProgramKarnataka 120
15%60%25%
5,00062.5% 3,20064% 2,40048% 35 min 30060% 21060% 15060%
Science Explorers InitiativeMaharashtra 45
40%48%12%
2,80051% 1,90068% 1,40074% 42 min 18051% 13551% 9551%
Reading ChampionsTamil Nadu 180
8%22%70%
7,20080% 5,80081% 4,90084% 48 min 42076% 34076% 28076%
STEM Excellence TrackGujarat 65
25%55%20%
3,50056% 1,80051% 1,10061% 28 min 22058% 15058% 9558%
Digital Literacy ProgramRajasthan 30
50%35%15%
1,50038% 80053% 45056% 22 min 9548% 6048% 3848%
English Engineers ProgramWest Bengal 95
18%52%30%
4,20070% 2,80067% 1,95070% 38 min 25071% 18071% 12571%
AI Learning ProgramTelangana 85
22%48%30%
3,80063% 2,40063% 1,68070% 45 min 21066% 15566% 11066%
Mathematical FoundationsPunjab 55
28%50%22%
2,90058% 1,85064% 1,25068% 32 min 17562% 12562% 8562%
Creative Arts InitiativeKerala 70
30%45%25%
3,30055% 2,10064% 1,47070% 40 min 19059% 14059% 9859%
Data Science AcademyHaryana 105
12%45%43%
4,80068% 3,20067% 2,30072% 44 min 26065% 19065% 13565%

Log Interaction

Ramya Krishnan
Class 2A · +91 98765 43210
Need Help
Mode of InteractionIn PersonPhone Call
Select call outcome
Call Attended
Who did you speak with?StudentParent
1
2
Checked in · 01:15 PMXYZ School · 0.3 km
Band filter
✓≤ 30%Low
31% – 69%Mid
≥ 70%High
Student merge
XYZR1Sam Kumar1 - A
RemoveMerge and Approve

The programme list on the web and the coordinator’s log on a phone: one source behind both. Polished from my Figma file; data is placeholder, the product is under NDA.

98.7%
up from 81.8%

Parent onboarding completion, after I simplified registration and profile creation.

+19.8pp
month-one retention

Contributed through WhatsApp automation and learner rewards.

1 source
replacing a sheet per PM, per programme

Every programme, school, request and visit, live.

The problem

Every programme manager had their own spreadsheets.

State departments, funders and the team all asked one question: is this programme working? The answer lived in a sheet per programme manager, per programme, each with its own columns and its own idea of “up to date”.

Field updates arrived on WhatsApp and were copied in by hand. Coordinators printed class lists before visits. A question about one state took twenty minutes; a report across 31 programmes took days.

SchoolDist.Tabs okUsageNotes
GLPS Kengeriblr urban—41call HM
GMPS AnekalBangalore R—63??
GHPS HoskoteBLR R181912 tabs dead
GHPS Devanahalli—35—upd. weekly?
one of many · names fake

Defining “working”

I defined “active” before I drew a dashboard.

A programme can have every school signed up and almost no children using it. So the first thing I shipped wasn’t a screen: it was three definitions, agreed with the product director and counted from what the app already records.

With those settled, the Programs list could stop summarising. It separates the things that get confused: schools signed up, students onboarded, activated and active, and the same for teachers, each read as a band.

1+ game
Active student

At least one game played in the last 7 days.

1+ homework
Active teacher

At least one homework assigned in the last 7 days.

Avg min / week
Weekly time

Average minutes per active student, last 7 days.

Ops Console · Programs

Programs

All Programs At School At Home
Program Name Total
Schools
School Division Onboarded
Students
Activated
Students
Active
Users
Avg
Engagement
Onboarded
Teachers
Activated
Teachers
Active
Teachers (HW)
Math Mastery ProgramKarnataka 120
15%60%25%
5,00062.5% 3,20064% 2,40048% 35 min 30060% 21060% 15060%
Science Explorers InitiativeMaharashtra 45
40%48%12%
2,80051% 1,90068% 1,40074% 42 min 18051% 13551% 9551%
Reading ChampionsTamil Nadu 180
8%22%70%
7,20080% 5,80081% 4,90084% 48 min 42076% 34076% 28076%
STEM Excellence TrackGujarat 65
25%55%20%
3,50056% 1,80051% 1,10061% 28 min 22058% 15058% 9558%
Digital Literacy ProgramRajasthan 30
50%35%15%
1,50038% 80053% 45056% 22 min 9548% 6048% 3848%
English Engineers ProgramWest Bengal 95
18%52%30%
4,20070% 2,80067% 1,95070% 38 min 25071% 18071% 12571%
AI Learning ProgramTelangana 85
22%48%30%
3,80063% 2,40063% 1,68070% 45 min 21066% 15566% 11066%
Mathematical FoundationsPunjab 55
28%50%22%
2,90058% 1,85064% 1,25068% 32 min 17562% 12562% 8562%
Creative Arts InitiativeKerala 70
30%45%25%
3,30055% 2,10064% 1,47070% 40 min 19059% 14059% 9859%
Data Science AcademyHaryana 105
12%45%43%
4,80068% 3,20067% 2,30072% 44 min 26065% 19065% 13565%
A · Bands, not raw numbers
✓≤ 30%Low
31% – 69%Mid
≥ 70%High
B · School division
Math Mastery Program
120 schools · Karnataka
15%60% mid25%
C · Use, next to reach 5,00062.5% → 2,40048%
A

Bands. Every percentage falls into Low, Mid or High, and the column filters by band, so a struggling programme shows up without reading a number.

B

School division. One bar shows how a programme’s schools split across the bands. Sixty weak schools can’t hide inside a strong average.

C

Reach, then use. Onboarded, activated and active sit side by side, for students and for teachers, so sign-up never stands in for use.

Requests · the centrepiece

From a teacher’s phone to a record everyone trusts.

Teachers, principals and students join through the Chimple app by picking their school. That one tap decides whose data they count in. A wrong pick used to be spotted weeks later and fixed by hand.

I made every join a request, reviewed by the people who know that school best. Anything that crosses schools, like a wrong school or a brand-new one, goes up to someone who can see more than one.

01 · App
Teacher picks their school
02 · Review
That school’s field coordinator or programme manager
Right school approve, edit or merge
Wrong school flag → PM or ops director moves it
Not listed ops director adds the school

The version I threw away

Two buttons weren’t enough.

My first review screen had approve and reject. In walkthroughs, the common problem wasn’t a bad request but a slightly wrong one: a teacher signed up as principal, or the wrong section. Rejecting sends a real teacher back to the start. So I added Edit, which corrects the request before it’s approved.

First versionDropped
Christopher · Principal · DPS Noida
RejectApprove
Shipped · Teacher request

Request ID - POGO069

RequestsPendingPOGO069

Request From

NamePhilipsPhone Number+91 98765 43210Email IDphilips8@gmail.com

Request Details

RoleTeacherGrade1Class SectionA

School Details

School NameDelhi Public School, NoidaSchool ID (UDISE)UP10291102112CityNoida-EastDistrictGautam Buddha NagarStateUttar Pradesh

Duplicates

Let the class list catch them.

Children share phones, so the same child often joins twice on different numbers. Instead of a separate clean-up tool, the student request shows the rest of that class. Pick the match and Approve becomes Merge and Approve: one profile, both numbers. Click a row ↓

Student request · merge

Request ID - POGO070

RequestsPendingPOGO070

Request From

NameSamPhone Number+91 98765 43210Email IDphilips8@gmail.com

Request Details

RoleStudentGrade1Class SectionA

School Details

School NameDelhi Public School, NoidaSchool ID (UDISE)UP10291102112CityNoida-EastDistrictGautam Buddha NagarStateUttar Pradesh

Students in Grade 1 - A

Total: 10 students · select one to merge with this request
Student IDStudent NameGenderGradePhone Number
XYZR1 Sam KumarMale1 - A+91 98765 43210
XYZ02 Ramya KrishnanFemale1 - A+91 98765 43210
XYZ63 Arjun MehtaMale1 - A+91 98765 43210
XYZ64 Rohan GuptaMale1 - A+91 98765 43210
XYZR5 Kavya IyerFemale1 - A+91 98765 43210
XYZ66 Priya SharmaFemale1 - A+91 98765 43210
XYZ67 Aditya RaoMale1 - A+91 98765 43210
XYZ68 Neha VermaFemale1 - A+91 98765 43210
XYZ69 Vikram SinghMale1 - A+91 98765 43210
The button follows the choice
No match picked
Approve
→
Existing student picked
Merge and Approve

Wrong school

A wrong school isn’t a bad request.

A teacher who picked the wrong school is still a real teacher, but a field coordinator can only see their own schools. Rejecting loses the teacher; approving puts them in the wrong data. So that reason turns the button into Flag for Review, and a programme manager or ops director moves it. Pick a reason ↓

Reject request

Reject Request - POGO067

Please provide a reason for rejecting this request

Reason for Rejection
Reject
Verification FailedUnable to verify provided information
Reject Request
Flag instead
Wrong School SelectedIncorrect school name was selected
Flag for Review
Goes to the programme manager or ops director, who can move it to the right school.

New school

“My school isn’t listed” becomes a school.

“Review and Add School” opens the real Add School form, already filled from the request, with the requester as the first contact. The director only adds what the requester can’t know: the programme and the field coordinator.

1 · New school request

Request ID - POGO068

RequestsPendingPOGO068

Requested School Details

School NameDelhi Public School, NoidaSchool ID (UDISE)UP10291102112CityNoida-EastDistrictGautam Buddha NagarStateUttar PradeshAddressSector 30, Noida, Gautam Buddha Nagar, Uttar Pradesh

Request For

Request TypeNew School

Request From

NamePhilipsPhone Number+91 98765 43210Email IDphilips8@gmail.com
2 · Add School, pre-filled

Add School

RequestsPendingPOGO068Add School

School Details

School Name *
Delhi Public School, Noida
School ID (UDISE)
UP10291102112

Address & Location

State *
Uttar Pradesh
District *
Gautam Buddha Nagar
City
Noida-East
Address
Sector 30, Noida

Key Contacts

Contact 1 · Principal
Philips
Phone Number
+91 98765 43210

Program Details

Program Name *
Select program
Field Coordinator *
Select field coordinator
Only what the requester can’t know
Program Name *
Select▾
Field Coordinator *
Select▾
Everything else came from the request.

School visits

The school visit, without the printout.

Field coordinators are the programme’s eyes on the ground. A visit used to mean printed class lists, scrolling through WhatsApp groups, and notes in a notebook the programme manager never saw.

Now the visit lives in the console: check in at the school, see each class and its WhatsApp group, log every conversation with a parent, and let the manager see it all the same day.

1Check in, verified by location

The console compares the coordinator’s location with the school’s. Inside the boundary, one tap confirms; outside, it warns before checking in. Every visit gets a real time and place.

Confirm Check-In

XYZ School
Gautam Buddha Nagar, Uttar Pradesh
Block: Noida, Cluster: Noida-East
Coordinates: 28.5244° N, 77.0855° E
Outside the boundary
!You’re not within the school premises. Are you sure you want to check in?
CancelConfirm Check-In
2Each class, with its WhatsApp group

The class page replaces the printout: who’s active, who isn’t on WhatsApp, and a button straight into the right parents’ group.

XYZ School · Class 1A

XYZ School

SchoolsXYZ School
OverviewClassesStudentsTeachersPrincipalsCoordinators

Class Information

Class1A
SubjectsMathematics, English
CurriculumCBSE
Total Students25
Active Students2
Class CodeMATH1A2024

WhatsApp Information

● Group Connected
Group Name
Delhi Public - Grade 1A
Members Count23 members

Students in Class

Student IDStudent NameGenderEmail / Phone NumberWhatsApp StatusActions
XYZ02Ramya KrishnanFemaleramana@gmail.com / 98765 43210Not Available
XYZR5Kavya IyerFemale98765 43211On WhatsApp
XYZ63Arjun MehtaMale98765 43212On WhatsApp
Right group, one tap
Delhi Public - Grade 1A● Connected · 23 members
Open WhatsApp Group
Who can be reached
Ramya KrishnanNot Available
Kavya IyerOn WhatsApp

Log Interaction

Ramya Krishnan
Class 2A · +91 98765 43210
Need Help
Mode of InteractionIn PersonPhone Call
Select call outcome
Call Attended
Who did you speak with?StudentParent
1
2
Call outcome
Call Attended✓
No Response
3Log every conversation

In person or by phone, who they spoke to, the call outcome and what’s stopping the child. Built mobile-first, because it’s filled in at a classroom door.

4The manager sees the visit

Check-in and check-out times, calls made, face-to-face discussions, tech issues and distance from the school, per visit.

Interactions

SchoolsXYZ SchoolInteractions
DateVisit TypeChecked-InChecked-OutCalls MadeF2F DiscussionsTech IssuesDistance
22 Nov 2025Teacher Training Meeting———800.6 km
21 Nov 2025Parents Teacher Meeting01:15 PM03:42 PM3330 km
20 Nov 2025Regular Visit01:15 PM03:42 PM8980.3 km
19 Nov 2025Teacher Training Meeting01:15 PM03:42 PM10521.3 km
One visit, on record
Checked-in
01:15 PM
Checked-out
03:42 PM
F2F discussions
9
Distance
0.3 km

Screens polished from my Figma file; names and figures are placeholders.

In their words

From the school gate to the funder report.

Field coordinators, programme managers and the ops director, a few months in. Hover to pause, drag to browse.Swipe to browse.

Active students nodoke ivaga Looker Studio open maadbekilla. WhatsApp-alli yaaru sigtaare anta tension-u illa.

I don’t need Looker Studio to see who’s active, and no more worrying about who’s reachable on WhatsApp.

C ChandhanaField coordinator · Karnataka
Ab WhatsApp groups mein dhoondh-dhoondh ke confuse nahi hota. Ops se seedha sahi group khul jaata hai.

No more digging through WhatsApp groups. Ops opens the right one directly.

K Karthik SwamiField coordinator · Ghaziabad
Yaava magu app use maadtilla, ee visit-alli yaar jothe maathaadbeku, ellaa kelave clicks-alli gottagutte.

In a few clicks I know which child isn’t using the app and who to speak to on this visit.

G GaneshField coordinator · Karnataka
Visit pe jaane se pehle ab class ka printout nikaalne ki zaroorat hi nahi padti.

I don’t need to print the class list before a visit any more.

A AdityaField coordinator · Ghaziabad
It’s one solid source I can trust. Keeping an eye on the whole operation is far easier now.
S Shankar SinghOperations director
Now I can see how many visits each school got, and what my coordinator discussed with the parents.
N NaveenProgramme manager
I know which school to focus on this week, and exactly where students are falling behind.
S SakshiProgramme manager
My coordinators manage their schools and students easily on Ops. And reports for funders and government officials take me a fraction of the time.
K KritikaProgramme manager

Scale

Built for a small team to run a big operation.

New Campaign

✓ ✓ 3Rewards 4

Rewards Configuration

Completion is calculated based on assignments completed during the campaign.

Reward Type
Digital Rewards
1st1st Rank
Minimum Completion (%)
90
Reward
e.g., Certificate of Excellence
2nd2nd Rank
Minimum Completion (%)
70
Reward
e.g., Certificate of Merit

Campaigns

Campaigns › Mathematics Assignment Drive

Global Send Schedule

Message Time
09:00 AM
Poll Time
06:00 PM

Applied globally across all campaign days.

Day 21
15 June 2026
Message

🌺 नमस्कार अभिभावकों! होली आने वाली है और साथ ही रंगों से भरा नया पाठ भी। आज बच्चे के साथ Chimple पर पाठ पूरा करें।

Media
Picture
drive.google.com/file/d/1n3qnTmxzf2vE5O…
Poll
क्या आपके बच्चे ने आज Chimple पर आज का पाठ पूरा किया?
हाँ
नहीं
Rewards
1st1st Rank≥ 90% completion
2nd2nd Rank70–89%
Reaching families

Campaigns that bring families back

A campaign bundles homework, rewards and a daily WhatsApp message with a poll, scheduled once for every day of the drive and written in the parents’ language. Learner rewards give children a reason to finish.

Alongside a simpler registration and profile setup, this took onboarding completion from 81.8% to 98.7% and contributed to +19.8 pp month-one retention.

One list pattern
Learn it once

Programmes, schools, users, requests and campaigns share one list: tabs, search and filters always in the same place.

Bulk upload
200 schools, no email to engineering

A file can fail in three places, so each failure gets its own message and one next step: re-upload, download the error file, or retry.

Specs
Every screen shipped with a testable spec

User story, behaviour, build notes, acceptance criteria. Pushback became a debate about a checkbox, not a screenshot.

Results

What changed.

Where the truth livesa sheet per PM, per programme  → 1 live source
A school visitprintouts + WhatsApp search  → check-in, class page, logged calls
A teacher joins a schoolWhatsApp + manual edit  → reviewed, on record
Funder & government reportsdays of matching sheets  → same morning

Looking back

What I’d do differently

I’d set up the design system before the screens. Colours, buttons and card layouts drifted across modules as the console grew, and I spent a pass tightening them afterwards. I’d also instrument the console from the first release, so visit counts and request turnaround are tracked from day one.

Create a free website with Framer, the website builder loved by startups, designers and agencies.