NightCoders
Portfolio

5/3/2026

Khalifah: The Online Tryout Platform That Handles Thousands of Students Without Breaking

See how NightCoders built an online tryout platform that handles 5000+ concurrent students during peak exam season without crashing.

By fathin@nightcoders.id

Khalifah: The Online Tryout Platform That Handles Thousands of Students Without Breaking

The Problem

Khalifah is an education technology startup focused on test preparation for Indonesian civil service (CPNS) and university entrance exams.

They needed a platform where:

Educators could create timed tryouts, manage question banks, and analyze class performance

Students could take realistic practice tests that simulate actual exam conditions

Operations could handle peak traffic during exam seasons without crashing

The Challenge

The education market is crowded with basic quiz tools. Most existing solutions fall short:

For Educators

No powerful admin tools - can't create complex tests or analyze performance

Limited question types - can't handle Indonesian exam formats

Poor analytics - get raw data dumps instead of insights

For Students

Broken timed tests - timer drifts, submissions fail, answers lost

No real exam simulation - doesn't feel like the actual test environment

Slow results - wait days for score feedback

For Operations

Can't handle traffic - crashes during peak exam seasons

No role-based access - can't secure test content before release

Expensive infrastructure - legacy LMS platforms cost a fortune

Most existing tools are either too simple (Google Forms) or too clunky (legacy LMS platforms).

Our Approach

Dual-Interface Design

We built two distinct experiences from day one:

Public-facing site for students - Clean, focused, timed test interface. No admin features visible. No distractions.

Secure admin panel for educators - Powerful tools for test creation, analytics, and user management.

This prevented feature creep in the student experience while giving admins the power tools they need. Two apps, one codebase, zero confusion.

Database-First Architecture

Tests, questions, attempts, and results are core to this product. We chose:

PostgreSQL with Drizzle ORM for type-safe queries

Proper relations between tests, questions, and attempts

Migration-driven schema for safe version updates

Every database change is tracked. Every deployment is safe.

Test Integrity by Design

Questions are stored with randomization logic - every student gets a different order. Attempts are tracked with precise timing. Results are calculated server-side to prevent client-side manipulation.

The system is designed to be trustworthy, even by students trying to game it.

What We Built

For Students

Tryout Browser View available tests with schedules, pricing, and difficulty ratings. Filter by exam type, difficulty, or date.

Timed Test Interface

Full-screen mode prevents switching apps

Question flagging for review

Section navigation with progress indicator

Visible countdown timer with warning alerts

Auto-submit when time expires

Instant Results

Immediate score breakdowns

Per-question analysis showing correct answers

Detailed explanations for every question

Historical tracking of scores over time

Personal Dashboard

Completed tryouts

Upcoming schedules

Scores over time

Performance alerts

For Educators

Test Builder Create tryouts with:

Custom schedules (open/close dates)

Pricing and pass marks

Time limits per section

Question randomization options

Anti-cheat settings

Question Bank

Add questions individually or in bulk

Rich formatting with images

Answer explanations

Tagging and categorization

Import from CSV/Excel

Participant Analytics

View all attempts with timestamps

Score distributions and averages

Time spent per question

Class-wide performance trends

Export to Excel

Announcement System Broadcast updates to all registered users. Push notifications for important announcements.

Program Pages Dedicated landing pages for different test prep tracks (CPNS, TOEFL, UTBK, etc.)

For Admins

User Management Create accounts, reset passwords, promote admins, manage roles. Three tiers: student, educator, superadmin.

Site Settings Update branding, contact info, SEO metadata, social links - all from one page.

Blog CMS Publish articles and updates through a block-based editor. Content marketing built in.

Technical Implementation

Stack

Layer

Technology

Frontend

Next.js 16, React 19, Tailwind

Backend

FastAPI, PostgreSQL, Drizzle

Auth

Supabase Auth

Storage

MinIO for question images

Deployment

Docker Compose

Key Features

Role-based access control - students, educators, admins have different permissions

Real-time scoring - results calculated server-side, delivered instantly

Scalable file uploads - MinIO handles question images and documents

Zero-downtime deployments - Docker Compose with rolling updates

The Results

Student Experience

Realistic exam simulation - feels like the actual test

Instant results - no waiting for grading

Mobile-friendly - take tests on any device

Educator Experience

Powerful test creation - complex tests in minutes

Insightful analytics - understand student performance

Self-service - no developer needed

Technical Performance

Handled 5,000+ concurrent users during peak season

Zero downtime during critical exam periods

Sub-second page loads even under load

Khalifah vs Other Solutions

Feature

Google Forms

Legacy LMS

Khalifah

Timed Tests

Basic

Yes

Professional

Analytics

None

Basic

Advanced

Role-Based Access

No

Limited

Full

Scalability

No

Yes

Yes

Mobile Support

Poor

Varies

Excellent

What This Proves About NightCoders

We build products that handle real scale under real pressure.

When thousands of students hit "Start Test" at the same time, the platform stays fast. When educators need analytics, they get insights, not raw data dumps.

We understand that education products need to be both powerful and trustworthy. One mistake in an exam platform erodes trust that takes years to rebuild.

Need an MVP like this?

NightCoders helps founders ship real MVPs in 4 weeks. Book a free 15-minute fit call and we will map your sprint.

Related posts