Skip to content
Shashi Gyawali
← 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
Next caseAustralian Pharmacist CPD01