Context
If you walk into the headmistress's office of a primary school in Dar es Salaam at the end of a term, you will see paper. A lot of paper. Attendance registers in stacks. Fee receipts in folders. Examination scripts in plastic sleeves. Teacher lesson plans in handwritten notebooks. The headmistress is usually doing one of three things: writing something down, looking for something she wrote down last week, or asking a teacher whether they remember writing something down.
This is not a story about inefficiency. The headmistresses we know are competent, dedicated, and operating exactly the way the system was designed to be operated. The problem is that the system was designed in 1962 — the year Tanzania's national curriculum was first formalised — and primary schools have been carrying its administrative architecture on their backs ever since. Software has reached the Ministry of Education. It has not yet reached the school.
We were introduced to St. Benedict Primary School through a parent who was on the school board and was, in his words, "tired of asking the same questions about my own daughter's attendance and getting different answers from different people." He invited us to spend a week observing the school's operations.
What we found:
- Attendance was being marked twice per day per class, by hand, in physical registers that were stored in classrooms. There was no easy way to know whether a specific child had been at school on a specific date in March without finding the right register and turning to the right page.
- Teacher performance was not tracked. At all. The headmistress evaluated teachers based on her own observation when she walked into a classroom, conversations in the corridor, and the marks students earned in end-of-term examinations. There was no record of which teachers consistently submitted lesson plans, which ones consistently arrived on time, which ones were observed teaching and what was noted.
- Parents communicated with the school through three channels: WhatsApp groups (one per class, run by the class teacher), phone calls to the headmistress's personal mobile, and physical notes carried home by the child. There was no audit trail of who had been told what.
- Fees were paid in cash, by M-Pesa, or by bank transfer. Receipts were handwritten. Reconciliation happened monthly, by the bursar, with a calculator and a stack of paper.
I am not running a school. I am running a paper factory that happens to teach children.
The opportunity was not to digitise everything. The opportunity was to digitise the right things, in the right order, in a way the staff could actually adopt without their entire week collapsing into training sessions. We agreed to build a pilot.
Decisions
01
Decision
Start with attendance and teacher performance — not fees.
Every consultant who has ever quoted St. Benedict on a school system has started with fee collection, because fees are where the money is and where the consultant gets paid. We started in the opposite corner. Fees come with regulatory exposure, payment-rail integration, refund logic, and the bursar's professional anxiety — none of which produce a usable system in three months. Attendance and teacher performance are pure operational leverage with zero regulatory risk and an immediately visible payoff for the headmistress. We agreed with the school: ship those first, prove the system works, then move into fees once trust is established.
02
Decision
Offline-first for everything the teacher touches.
Tanzanian primary schools deal with intermittent connectivity as a fact of life. The teacher app records attendance, lesson submissions, and observations locally on the device and syncs when the connection returns. If the WiFi is out for a week, nothing breaks; nothing is lost; the headmistress doesn't get a complaint. This is non-negotiable in our context and would have been the single fastest way to lose the pilot if we'd skipped it.
03
Decision
Ship a parent portal on day one — not at the end.
The standard sequencing for a product like this is: build the admin tools first, the teacher tools next, the parent tools last. We did the opposite. The parent portal — a simple dashboard where a parent can see their own child's attendance, recent marks, and any messages from the class teacher — went live before the teacher attendance tool was finished. The reason is psychological. Once parents can see their child's data, they ask for it. They ask the teacher "why did Aisha miss school on Tuesday?" in front of the headmistress. The parents pull the system into use. The school adopts not because the headmistress mandates it but because the parents create demand for it. Top-down adoption is fragile; bottom-up adoption holds.
04
Decision
Bilingual UI — Kiswahili and English, switchable per user.
Tanzanian primary teaching is bilingual. Some teachers are most comfortable in Kiswahili; some prefer English; the official curriculum lives in both. A UI that ships English-only quietly excludes half the staff and tells them — without quite saying it — that the tool isn't really for them. Every screen, every label, every error message in the system is available in both languages, and the language switch is at the user level, not the device level. We were told later that this single decision is the reason two of our most experienced (and most paper-resistant) teachers actually use the system.
Outcome
The system has been live at St. Benedict Primary School since the start of the current school term. A second school — a smaller private primary in Mbeya region — joined the pilot in April. We deliberately have not opened up to more schools yet. We want to keep the pilot small enough to learn from before we scale anything we'll regret.
What is working so far, at St. Benedict specifically:
≈ 6h
Headmistress admin time saved per week
12 / 12
Teachers using the system weekly
94%
Parent portal sign-up rate
Six hours a week is not a transformation. It is also not nothing. It is roughly the time the headmistress was previously spending compiling weekly attendance summaries by hand, and it now goes into things that genuinely require her — staff conversations, parent meetings, the curriculum decisions she actually went into education to make.
The 12-of-12 teacher adoption figure is the one I am quietly most proud of. The conventional pattern with software in this environment is that the youngest two or three teachers adopt immediately and the rest never log in. We have all twelve teachers — including the two with thirty-plus years of experience and the strongest stated preference for paper — using the system at least twice a week. The bilingual decision, the offline-first decision, and the slow on-boarding (we spent more time training than we spent shipping the first month) are doing the work.
The 94% parent portal figure is, in fairness, the easiest of the three. Parents want this. The harder work was making the portal accessible on the kind of phones our parent demographic actually uses — older Android devices, Kiswahili-default browsers, often shared between siblings — without requiring a download. The portal is a progressive web app. It is accessible from any phone with WhatsApp on it.
- Next.js 14 (web app)
- React Native (teacher app)
- Node.js + PostgreSQL
- Prisma ORM
- Local-first sync via PowerSync
- Africa's Talking (SMS gateway)
- M-Pesa (fee collection, scheduled phase two)
- Vercel + dedicated regional database
What I’d do differently
-
We underestimated how much paper-trail history the school wanted digitised. The system was designed to start from "today" — new records from go-live forward. The headmistress, very reasonably, asked us within the first month to ingest the last three years of attendance and examination records as well, so the system felt complete rather than empty. We agreed but it added weeks of unplanned data-entry support. The lesson: schools do not adopt a system that starts blank. Plan for backfill before the pilot begins, not after.
-
The first version of the teacher performance dashboard tried to be too objective; teachers experienced it as surveillance. We had built a clean, factual dashboard for the headmistress showing each teacher's lesson submission rate, attendance, and student outcomes. It was accurate. It was also, from the teachers' perspective, a tool to discipline them — and they responded by submitting more documentation but engaging with the actual teaching reflection prompts less. The second version frames the same data as "support to improve", with the teacher seeing their own dashboard first and the headmistress's view explicitly framed as coaching support, not evaluation. The data did not change. The psychology did. The second version is what's deployed.
-
We should have shipped SMS alongside the web parent portal from the very first day. A non-trivial minority of parents at St. Benedict don't have smartphones; they have feature phones. The web portal is invisible to them. SMS is universal. We added the SMS notifications module in week six, but for those weeks a meaningful chunk of the parent base felt left out. Anything we ship to parents in this market needs to assume the lowest-common-denominator device from day one.