Shikshara
A school runs on one system instead of eleven spreadsheets — built for how Nepali schools actually work.
Nepali schools are running on paper registers and a hundred separate Excel files. The international products cost more than a school's monthly fee income and assume a Gregorian calendar, an English-medium office and a curriculum nobody here teaches. Shikshara is the answer to that specific problem.
One codebase, every school
Shikshara is multi-tenant on a single database. Every school gets its own subdomain and sees only its own data, but they all run the same deployment — which is the only way the price can come down far enough for a school in Gorkha to say yes.
That decision drives everything else. Every tenant-scoped model carries a global scope so a query can't accidentally cross schools, and there's a dedicated isolation test suite whose only job is to try to break that boundary. It has caught real leaks — an API token that resolved across tenants, models that were missing their scope entirely.
What a school actually does with it
Admissions and student records; daily attendance; fee structures, invoicing and receipts; exams, marks entry and result publication; timetables for both a fixed class schedule and a smart generated one; a library module; hostel; payroll. Parents and students get their own logins to see attendance, results and what is owed.
The part I'm most invested in is continuous assessment. Nepal's CDC 2083 curriculum asks teachers to record ongoing indicators rather than only terminal exams, and no local software does it. Shikshara ships the CDC indicator pack and generates the Annex 3 and Annex 4 reports schools are required to file.
Built for here, not translated for here
Bikram Sambat dates run through the whole system rather than being converted at the edges. Fees settle through Khalti for domestic payment alongside Stripe. Report cards follow the formats schools already recognise. A school can be onboarded with a CSV import rather than three weeks of typing.
What it taught me
Most of what I know about production Laravel came out of this: queue workers and failed-job handling, webhook signature verification, feature-gating by subscription plan, permission systems that check capability rather than role, and the discipline of keeping one codebase safe when many organisations share it.
It is not launched. It is being built toward its first school.