← All work
Case study 05 / BLEMS / Local government
One platform, many municipalities
The Basic Level Examination Management System processes and publishes school exam results for local government in Nepal. I led the work that took it from one deployment per body to a single multi-tenant platform.
Role
Full-stack dev & tech lead
Years
2021 – 2022
Stack
Next.js, GraphQL, Prisma, MySQL, Redis
Scope
Architecture, RBAC, dashboards
The problem
Each municipality wanted the same thing: collect marks from its schools, process results, publish them, generate statistics. And each one meant another copy of the app to configure, host and patch. Access rules differed per body, and the data was sensitive.
What I built
- A multi-tenant data model and request pipeline so every municipality ran on one deployment with isolated data and its own configuration.
- Dynamic role-based access control: the highest authority in each body could redefine what every other role could do, without a developer in the loop.
- Result processing, statistics and reporting dashboards in React with Apollo, built for staff who use a computer twice a year.
- Code standards and review as tech lead across the team, plus the infrastructure cost work that came with consolidating deployments.
Result
1→N
Tenants per deployment
RBAC
Configurable per body
GOV
In production use