UNICEF — Country Programme (CPD), in partnership with the Government of Balochistan

RLCP

Next.jsNestJSPostgreSQLPrismaFlutterRedisMinIODockerNginx

The Problem

A remedial-learning programme spread across 6 districts, 33 clusters, 341 schools, and 336 learning centers in Balochistan — reaching 16,000 students through 718 tutors — was being monitored on paper. Attendance registers, student progress, and classroom quality were handwritten at the center, then carried up a chain of coordinators and managers — slowly, and with no way to verify any of it.

Nobody was lying on purpose. But a paper process at this scale can't be trusted, and a donor funding outcomes for 16,000 children can't act on data it can't verify. The fix wasn't more supervisors. It was removing the points where the truth could quietly go missing.

- No proof a tutor ever showed up — attendance was self-recorded on paper, so "ghost" presence at a center was impossible to disprove

- Weeks-old, unverifiable field data — by the time registers reached district managers, the information was stale and impossible to audit

- Siloed records — attendance, student assessments, and classroom observations lived in separate notebooks with no cross-checking

- No accountability trail across 336 centers — when numbers looked wrong, there was no log to show who recorded what, where, or when

- Donor reporting built on trust, not evidence — UNICEF needed verifiable reach and quality data across the whole programme, and paper couldn't provide it.

Our Solution

We built one platform with two surfaces — a mobile app for the people in the field, and a web app for the people overseeing them — sitting on a backend that mirrors the programme's real-world hierarchy: District → Cluster → School → Center → Tutors & Students.

The mobile app — for the field (tutors & coordinators)

Built in Flutter for the staff who are actually at the learning centers, often on low-end devices and patchy networks.

- GPS-verified check-in/out — a tutor's attendance is captured with live location and measured against their assigned center's geofence, so presence is proven, not claimed

- Daily student attendance — marked on the spot, tied directly to each child's record

- Classroom observations & assessments — coordinators run structured observations and student assessments in the field, no paper

- Tasks & follow-ups — work is pushed to the right person and tracked to completion

The web app — for oversight (admins, managers, coordinators)

Built in Next.js for the chain of accountability above the field.

- Role-scoped dashboards — every role sees exactly their slice: a district manager sees their district, a cluster coordinator sees their cluster, and no further

- Live programme view — attendance, student progress, observations, andtime instead of arriving weeks late on paper

- Full hierarchy management — districts, clusters, schools, centers, tutors, and students managed in one place, reflecting the real org chart

- Granular RBAC — a permission system controls who can see and do what,al actions

The backend — verifiable by design

- NestJS + Prisma + PostgreSQL as the single source of truth across bot

- Geofence verification on every check-in, with the distance-from-center recorded

- Audit & verification logs — every attendance event is stored with itse data can always be traced back

- Containerized infrastructure — Docker, Nginx, Redis, and object storage, deployed privately and built to scale across the province

Results

A programme this size, now visible in real time:

6 districts, 33 clusters, 341 schools, 336 centers, 718 tutors, and 16,000 students — all reporting into one live system instead of thousands of paper pages.

Attendance you can actually trust:

Every one of the 718 tutors' check-ins is tied to a GPS location and the distance from their assigned center. "Ghost" attendance has nowhere to hide — presence is verified, logged, and reviewable.

Field data in real time, not weeks late:

Managers and coordinators see attendance, student progress, and classroom quality as it happens across all 336 centers — the multi-week paper lag is gone.

Accountability built into the workflow:

Role-scoped access and a complete audit trail mean every record has an owner, a place, and a timestamp. Accountability is structural, not dependent on supervision.

One source of truth, two purpose-built apps:

The same verified data serves the tutor in the field and the director in the office — a mobile app for capture, a web app for oversight, no re-keying and no silos.

Evidence-grade reporting for UNICEF:

For the first time, the programme's reach across 16,000 students is backed by verifiable, location-stamped data — turning donor reporting from a matter of trust into a matter of record.

Ready to start your project?

Let's talk about how we can help you build something great.

Book a Free Call