JEE Rank Up: a multi-tenant exam-prep platform, architected before it was built
A 16-week, fixed-scope contract to replace manual question entry with a system that could ingest an entire question bank and serve multiple institutions from one codebase.
What the client needed
JEE exam-prep content is dense and mostly locked inside PDFs and printed material. Re-typing question banks by hand doesn't scale, and a single-tenant build would have meant rebuilding the platform for every new institution that wanted in. The brief called for both problems solved in one architecture, on a fixed 16-week timeline.
What got built
Laravel 11 and Next.js 15 on a modular monolith, with Postgres row-level security handling tenant isolation instead of a shared-schema-with-tenant-ID shortcut. Mathpix OCR handles question ingestion from source material. Phase 2, scoped but not yet built, adds Ollama and Qdrant for AI-assisted practice tooling. Day one of the engagement ended with a full handoff: scope document, architecture document, docker-compose, and a schema reference, so the client could see the entire system before a line of code shipped.
| Backend | Laravel 11 |
| Frontend | Next.js 15 |
| Multi-tenancy | PostgreSQL row-level security |
| Content ingestion | Mathpix OCR |
| Infrastructure | Docker, docker-compose |
| Phase 2 (scoped) | Ollama + Qdrant for AI practice tooling |
What changed for the business
Question-bank ingestion moved from manual re-entry to OCR-driven import, removing the biggest bottleneck to adding new content.
The multi-tenant architecture means onboarding a new institution is a configuration step, not a new build.
The Day 1 handoff gave the client a complete view of the system before committing further budget to development.
Quantified figures are intentionally left out here pending the client's sign-off to publish them. Ask us directly for the numbers behind this case study.