Tutoring Platform
KAISAN
An exam platform for a tutoring centre with around 500 students: questions are generated by AI, but never published without a teacher's review.
- Peran
- Freelance, fixed-scope handoff
- Periode
- 2025
- Status
- Delivered to client
Problem
A tutoring centre with around 500 students needed a question bank far larger than its teachers could write. Repeating the same questions defeats the point of practice: students memorise the answer instead of understanding the material.
Constraint
This was freelance work with a fixed scope, ending in a handoff. That means the code has to be continued by someone else without me, and no part of it may only work when I am the one running it.
The people using it every day are teachers, not technical operators. Everything has to be manageable through an interface, not through commands on a server.
AI-generated questions are not always correct, and a wrong question on a graded exam damages a student's trust while burying teachers in disputes. So automation must not reach the point of publishing.
There was also a limit I set myself: adaptive difficulty needs a numeric rating, but a visible number immediately becomes something students compare with each other.
Decision
I chose Laravel 12 with Livewire 3 and Filament 4. Filament gives a mature admin panel without building management screens from scratch, and that matters on fixed-scope work — the time goes into business rules, not CRUD tables.
Teacher review is a required step before a question can go live. AI output enters as a draft, and there is no path that skips this stage. Automation stops exactly before the point where a student bears the consequence.
Adaptive difficulty uses Elo ratings, but the raw rating is never shown to students. They see a band label only: Pemula, Berkembang, Mahir, Ahli. The system keeps a number to select questions; students get no number to rank each other by.
Scheduled exams and a seasonal leaderboard give the term a rhythm. The leaderboard resets each season, so a student who starts late is not chasing an impossible gap.
PostgreSQL was chosen so the client can run it with any provider after the handoff.
Outcome
Completed within scope and handed over. Teachers manage the question bank, schedule and participants through the panel without technical help.
TODO — confirm with Sigit: whether the system is still in use, and whether the tutoring centre may be named.
LET’S TALK
Got a system that needs fixing or a product that needs building? Tell me about it.