---
title: "An exam portal that runs two businesses on one question bank"
description: "Past papers by topic with the mark scheme beside every question, test series, and logins for students, parents, teachers and the institute."
url: /work/exam-practice-portal
markdown: /work/exam-practice-portal.md
case_study: true
updated: 2026-10-13
---

# An exam portal that runs two businesses on one question bank

Aurethia Education · Horizon Beam · Aug 2026 to Oct 2026

> I built an exam practice portal for an institute in Jaipur and took it from spec to live in 47 days.

| Fact sheet | |
| --- | --- |
| Client | Aurethia Education, India |
| Role | Wrote it |
| When | Aug 2026 to Oct 2026 |
| Stack | Next.js, React, MongoDB Atlas, Amazon S3, CloudFront, EC2, Razorpay, Stripe, Brevo |
| Link | [prep.aurethiaeducation.com](https://prep.aurethiaeducation.com) |

## Headline numbers

- **47 days** from the spec to live

## The problem

Aurethia Education teaches students sitting international boards. It wanted past paper practice by topic and by sitting, with the mark scheme next to every question, test series, and a way for teachers to build and print papers from the same question bank.

It also wanted to sell that same bank to teachers outside the institute. So one platform had to run two businesses: the institute's own classes and staff, and a subscription for outside teachers.

## Constraints

- Questions arrive as images: the question, the mark scheme, the worked explanation and the teacher's notes. There's no text.
- Two businesses, one database. The question bank is shared, but student records, classes, attendance and marks must never cross from one tenant to another.
- Many of the students are minors.
- Buyers pay from India and from abroad, and some pay by bank transfer or cash.
- Traffic is small, so the hosting bill has to be small too.

## Decisions

1. **Use the question images as the content, and leave OCR for later**, over turning every paper into text first, because that would have been the biggest piece of work in the plan, and the client's own bank already stores images, so adding a question is upload, tag, publish.
2. **Hash passwords with argon2id so nobody can read them, the admin included**, over passwords an admin can read and change, because what admins need is to get a stuck student signed in, and a reset link or a time limited sign in does that without anyone ever seeing a minor's password.
3. **Model the entitlement, not the payment**, over separate logic per gateway, because Razorpay in India, Stripe everywhere else and manual payments for bank transfer or cash all feed one service that grants access, and the manual path is the one that drifts and forgets the receipt, the audit row or the expiry.
4. **One container on one small instance with a fixed address, behind CloudFront**, over a Fargate service behind a load balancer, or App Runner, because every page renders on the server, so a static bucket wasn't enough, the load balancer was most of the monthly bill and bought one thing, deploys with no gap, and the account couldn't use App Runner.

## What leaving OCR out costs

There's no full text search, so you find questions by board, subject, topic, year, season, paper and variant. And a screen reader can't read an image, so every question has an alt text field from day one, and an empty text field is already in the schema, so a text layer later doesn't need a migration.

## Two businesses on one platform

The institute is the first tenant, and every paying teacher is their own. The question bank belongs to the platform.

## Getting a stuck student signed in

There's an invite link that sets the first password, an admin reset link, a one time temporary password that must be changed, and support sign in as a user that's time limited, logged and shown on screen.

## How it works

Students practise by topic or by sitting, check the mark scheme beside each question and see what to revise next. Teachers build papers from the same bank and print them. Parents get their own login. The institute side handles batches, teachers and fees. Outside teachers subscribe and use the bank in their own teaching.

## Marked like an examiner

A practice card, redrawn in this site's style: the question, a student's answer, the mark scheme beside it and the topic to revise next. The question was written for this page.

## Results

- Live at prep.aurethiaeducation.com since September 2026, with work continuing into October 2026.

_Named with the client's approval. The screenshot is the portal's public home page; no student data or dashboards are shown._

## Contact

- Email: hi@namanbuilt.com
- LinkedIn: https://www.linkedin.com/in/naman-jain-hub

Horizon Beam is taking on new projects.
