A French-first LMS that takes West African schools off paper

Schools in French-speaking West Africa still ran attendance, fees, and marks on paper registers and people. English-first LMS products didn't fit how those schools are structured. Sekou's co-founders, who grew up in that system, asked RaftLabs to build the platform they wished their schools had had. A six-person RaftLabs team built it over about six to seven months.

students supported per school
4000+
people: 4 engineers, QA, and a PM
6
built around Francophone school structures
French-first

Short answer

RaftLabs built Sekou, a French-first school management platform and LMS for K-12 schools in French-speaking West Africa. A six-person team (two frontend and two backend engineers, QA, and a PM) delivered attendance, marks, fee collection, and role-based portals over about six to seven months. Sekou supports 4,000+ students per school.

Engagement

The Sekou engagement

Client
Sekou, an EdTech startup building school software for French-speaking West Africa
Decision-maker
The co-founders, who grew up in the school system Sekou is built for
What it is
A French-first school management platform and LMS for K-12 schools, with portals for administrators, teachers, students, and parents
What we owned
The product build: attendance, marks and results, fee collection with payment integrations, role-based dashboards, and the admin tooling behind them
Team
Two frontend engineers, two backend engineers, one QA engineer, and one project manager
Engagement model
A fixed-scope project with a dedicated team
Duration
About six to seven months

The situation

In most of the world, a school's attendance, marks, and fees live in software. In the French-speaking West African schools Sekou was built for, they lived on paper registers and in people's heads. Every term brought the same problems: human error in records, staff out of sync with each other, inventory nobody could track, and curriculums rebuilt by hand every year.

Sekou's co-founders grew up in that system and felt those problems first-hand. They also saw why the obvious fix didn't work. The established LMS products were built for English-speaking schools, and adapting them to these schools meant fighting the product at every step.

Nothing was about to break, and that was the problem. Without a platform built for these schools, nothing would improve either, and the paper systems would keep holding progress back.

An LMS is not a strategy. It is a delivery mechanism. The failure mode for school platforms is familiar: a system that cost real money and months to roll out, now used to store documents nobody reads. Sekou's co-founders had lived the paper-register version of that failure. They needed software built around how their schools are actually organised, not a generic platform fighting the school at every step.

RaftLabs put a six-person team on the build. The hardest lesson came early: French-first wasn't a translation job. The schools are structured differently, and the product had to be built around that structure. We also talked the client out of one feature that would have sunk the timeline. The platform we shipped supports 4,000+ students per school.

French-first school management platform for West African K-12 schools

starting point

From paper registers to one platform

The goal was to digitise and consolidate how a school runs, in the language and structure these schools actually use, not to hand them a translated copy of a Western LMS.

Before
  • Attendance and marks recorded on paper and reconciled by hand
  • Coordination between administrators, teachers, and parents ran on people, not systems
  • Fees tracked manually, with errors and slow follow-up
  • Inventory and school resources hard to track and maintain
  • Curriculums rebuilt and updated by hand every year
  • The LMS products on the market were English-first and assumed a different school structure
After
  • Attendance and marks captured in one system, with support for corrections after they're finalised
  • Separate dashboards for administrators, teachers, students, and parents, laid out around each role's everyday tasks
  • Fee management with payment integrations, feeding the school's own records
  • One platform for the school's records instead of registers and spreadsheets
  • A French-first product built around how Francophone schools are organised
  • A consistent codebase built to take later features without a rewrite

The hard parts of building for a different school system

  • Designing for a school system that isn't ours

    The brief said French-first. The team first read that as a language requirement. It turned out to be much more. The schooling system in these countries is structured differently, with different parts and different ways of grouping students, terms, and results. It wasn't a language thing.

    Translating an English-first product would have left the data model wrong underneath. We designed the records, labels, and workflows around how these schools actually run. Our engineer's own takeaway: we understand schools intuitively from our own lives, and that intuition doesn't carry over.

  • Attendance and marks that change after they're final

    Attendance and marks look like simple records until real schools use them. Sessions overlap. Scores get reworked after they've been finalised. Attendance gets corrected days later. The same data passes through several stages, from draft to finalised to reported, and each stage handles it differently.

    The shortcut was to build the happy path and patch edge cases as schools reported them. We didn't. We designed the code to handle all the major cases and most of the minor ones up front, including overlaps and changes to finalised records, so a correction doesn't break a report downstream.

  • Fee collection and payment integrations

    Fees were one of the hardest systems in the build. Collection had to connect to external payment integrations and land cleanly in the school's own records, with the same care for edge cases as attendance and marks: partial payments, corrections, and records that must reconcile.

    We built fees on the same consistent data patterns as the rest of the platform, rather than as a one-off module. That kept the system predictable for administrators and gave the team a base to extend later.

  • The class scheduling feature we recommended not building

    Semester class scheduling caught us off guard. It was in the original plan and looked like a normal feature. After research, it turned out to be a genuinely hard problem: fitting teachers, rooms, classes, and constraints into a working timetable. Paid products exist that do nothing else.

    Building a full scheduler inside the normal project scope wasn't feasible without wrecking the timeline. We pushed back and simplified class scheduling instead. That's the most important scope call on the project. A school platform that ships beats one that stalls on a problem an entire product category exists to solve.

Proof

What the build delivered, and what this page can't claim

Figures as recorded at the time. No long-term learning-outcome measurements were available for this review.

ResultWhat changedPeriod or contextEvidence and limitation
Scale4,000+ students supported per schoolTeachers record attendance and marks without paper registers; parents see progress without waiting for the end of termProject-recorded, as recorded at the time
Time to launch16 weeks from concept to launchA six-person RaftLabs team; one recommended feature (full class scheduling) was deliberately cut to protect the timelineProject-recorded, as recorded at the time
Early beta25% boost in school community connectionsParents saw day-to-day progress instead of end-of-term reportsEarly beta figure, as recorded at the time. Not a long-term outcome measurement

the build

What we built

Every portal was laid out around what each role does most often, so the common tasks sit where people look first.

  1. Teachers record attendance and marks without paper registers

    Teachers mark attendance, enter marks, and manage class materials in one place. Corrections are part of the flow, not a support ticket: a finalised mark or attendance record can be reworked without breaking the reports built on it. Students get their own dashboard for assignments, marks, and materials.

    Teacher tools and student dashboard in the Sekou LMS
  2. Parents see attendance and marks without waiting for the end of term

    Parents get a dedicated portal with their child's attendance, marks, and school announcements. Instead of waiting for the end-of-term report, they can follow progress as the school records it, in French.

    Parent portal showing student attendance and marks
  3. Administrators run fees and records from one panel

    Administrators manage enrolment, fees, and school records from a single admin panel. Fee collection runs through payment integrations and lands in the school's records, replacing manual tracking and the errors that came with it.

    Sekou admin panel for fees and school records
  4. French-first, built around how these schools are organised

    The product was built in French from the start, and its structure follows how Francophone West African schools are organised, not how English-speaking schools are. Terminology, grouping, and results match what teachers and administrators already use.

    French-first school management platform

The lesson

Scope the school system, not just the software

If you're building school software for a market outside the English-speaking world, the thing most teams miss is that the school system itself is part of the scope. We treated French-first as a language requirement at the start. It wasn't. The schools are structured differently, and that difference reaches the data model, not just the labels.

Everyone on a project team has been to school, so everyone thinks they already understand how schools work. That's exactly why it gets skipped in discovery. Before you design a single screen, map how the target schools group students, run terms, record results, and handle corrections. And check early whether any feature on the list is really its own product. Timetabling usually is.

How it runs

React
Four user types (administrators, teachers, students, and parents) needed their own dashboards. Shared components let the team build four role-specific layouts without four separate front ends.
AWS Lambda
School usage peaks around term starts, exams, and fee deadlines, then drops. Serverless functions scale for those peaks without paying for idle servers the rest of the year.
Hasura
A GraphQL layer over the school's data gave every role's dashboard the records it needed, with access rules per role, without hand-writing an endpoint for each view.
TypeScript
Attendance, marks, and fees move through several stages, and a silent data mismatch would reach a parent or a fee record. Typed data contracts catch those mismatches during development.

Common questions

RaftLabs built Sekou, a French-first school management platform and LMS for K-12 schools in French-speaking West Africa. It covers attendance, marks and results, fee collection with payment integrations, and separate dashboards for administrators, teachers, students, and parents. A six-person team (two frontend and two backend engineers, QA, and a PM) built it over about six to seven months.

Existing LMS products were built for English-speaking schools and assume a school structure that doesn't match Francophone West Africa. The mismatch goes beyond language: how students are grouped, how terms run, and how results are recorded all differ. Adapting a generic platform means fighting its data model. Building custom let Sekou's structure match the schools from day one.

Sekou's engagement ran about six to seven months with a six-person team, and the earlier record shows a first launch within 16 weeks. Timeline depends on scope more than anything else. Attendance, marks, fees, and four role-based portals are a substantial build. Adding a full timetabling engine or national exam integrations would extend it considerably.

Semester class scheduling turned out to be a hard optimisation problem, fitting teachers, rooms, and classes into a working timetable under many constraints. Paid products exist that do only that. Building one inside the normal project scope wasn't feasible, so we recommended a simplified version. It kept the core platform on track instead of stalling on a problem that deserves its own product.

The edge cases. Sessions overlap, marks get reworked after they're finalised, and attendance gets corrected days later. The same record passes through draft, finalised, and reported stages. If the system only handles the happy path, every correction risks breaking a report. We designed Sekou's code to handle the major cases and most minor ones before launch.

Yes, for any school system that the big LMS vendors don't fit well: non-English markets, different grading structures, or local payment methods. The lesson from Sekou applies directly. Map how the target schools are actually organised during discovery, before designing screens. See our eLearning platform development service and K-12 software page.

Work with us

Recognise this problem in your business?

Tell us what's broken. We'll diagnose it and show you exactly what to fix first, before you commit to anything.

  • Scope and cost agreed before work starts. No surprises. No obligation.
  • Working prototype within 3 weeks of kickoff.
  • Pay by milestone. You see progress before each invoice.
  • 60-day post-launch warranty. Bug fixes, UI tweaks, and deployment support. No retainer.
  • All conversations are NDA-protected.