Skip to content

--:-- IST

Case studyAurethia Education · Horizon Beam · Aug 2026 to Oct 2026

An exam portal that runs two businesses on one question bank

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

from the spec to live
47 days

The live site

The Aurethia Education home page: Practise the real paper, mark it like an examiner, with sign up buttons for students, parents and teachers beside an illustrated past paper and answer sheet.
prep.aurethiaeducation.com

Fact sheet

Past papers by topic with the mark scheme beside every question, test series, and logins for students, parents, teachers and the institute.

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
Practice portala portal, built

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. Chose
    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. Chose
    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. Chose
    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. Chose
    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.

Staged sample

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.

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.

Drawing

Question bankimages, mark schemes,tagsThe instituteclasses, staff, feesOutside teacherssubscriptionsStudents and parentspractice by topic orsittingEntitlementsRazorpay, Stripe, manualPrinted papersbuilt from the bankgrants access
  1. Question bank

    images, mark schemes, tags

    • leads to The institute
    • leads to Outside teachers
  2. The institute

    classes, staff, fees

    • leads to Students and parents
  3. Entitlements

    Razorpay, Stripe, manual

    • leads to Outside teachersgrants access
    • leads to Students and parents
  4. Outside teachers

    subscriptions

    • leads to Printed papers
  5. Students and parents

    practice by topic or sitting

  6. Printed papers

    built from the bank

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.

Results

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

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