All projects
Learning Platform

Timed Online Exam Simulator

UTBK and CPNS mock exams with a server-side timer, autosave, integrity logging, and percentile ranks for every edition.

Status
Live
Layers
FrontendBackend
Used by
Students preparing for the UTBK university entrance exam or the CPNS civil service test, and admins who follow each edition's results.
Numekara's mock-exam page showing pick a package, take it, submit, and per-topic report
Screenshot

The problem

Simple online exams are easy to game, can lose answers when the connection drops, and don't show how a student ranks against others.

The solution

The server owns the timer and deadline, answers autosave and can be resumed, and tab or device switches are logged. Weekly editions publish automatically, test-takers see their percentile, and admins get a per-skill report.

How it works

What happens, step by step, from the user's point of view.

  1. 01

    A new edition every week

    Finished question packs are scheduled automatically for the next Sunday, with set opening and closing times.

  2. 02

    The server keeps the time

    When the exam starts, the deadline is recorded on the server. Changing the phone's clock gives no extra time.

  3. 03

    Answers save automatically

    Each answer is sent to the server. If the connection drops or the phone dies, the test-taker can resume where they left off.

  4. 04

    Tab switches are logged

    Leaving full screen, switching tabs, or changing device is logged for review. The log does not change the score.

  5. 05

    Results and percentiles open

    Once everyone in the edition has finished, test-takers see their score, percentile, and rank among others in the same edition.

  6. 06

    Per-skill report

    Admins see which skills were missed most in each edition, to guide improvements to the material.

System design

Who uses it, what they see, what works behind the scenes, and where the data lives. Read it from left to right.

  1. 1People

    • Test-takersUTBK or CPNS candidates sitting the timed exam.
    • AdminReads the per-skill report for each edition.
  2. 2What they see

    • Exam screenQuestions, time left, and a sign that answers are saved.
    • Results pageScore, percentile, rank, and worked solutions.
  3. 3Behind the scenes

    • Exam serverFastAPI keeps the time, saves answers, and grades when the exam ends.
    • Weekly releaseGitHub Actions schedules new editions every week automatically.
  4. 4Where data lives

    • DatabasePostgreSQL stores attempts, answers, and the review log.
    • Private question imagesQuestion images open only through temporary links during the exam.

Key features

  • Server-side timer
  • Autosave and resume
  • Integrity monitoring log
  • Weekly editions with percentiles
  • Per-skill reports for admins

Built with

  • Next.js
  • FastAPI
  • PostgreSQL
  • GitHub Actions

Numbers you can check

1082
Questions in the mock-exam bank
12
UTBK editions written
±130
Concurrent test-takers per server (load test)

What the business gets

  • Test-takers don't lose answers when the connection drops.
  • Exam time is the same for everyone and can't be gamed from a phone.
  • Test-takers see where they stand among others in the same edition.
  • New editions go live without an admin pressing a button each week.
  • A load test showed one server handling about 130 test-takers at once.

Terms on this page

Autosave
Saving automatically every time the test-taker answers, with no save button.
Percentile
The share of test-takers whose score is the same as or below yours.
Load test
A trial run with many simulated users at once to see how much the server can handle.

Can it work for your business?

Fits training centres, HR teams, or certification providers that need timed online exams with results they can stand behind.

Ask about this project