Hami — Konkur Study Planning Platform
Hami is a Persian progressive web app for Konkur (university entrance exam) students that brings the whole study cycle — a per-subject knowledge map, session logging, spaced repetition, a daily report card and AI-generated quizzes — into one RTL, offline-first experience.
At the core is an interactive knowledge map: every grade (10–12), track (experimental, mathematics, humanities) and subject is rendered as a tree of chapters and lessons. Each lesson gets a mastery score derived from quiz results and session count that decays over time along a forgetting curve; node colours and the list of overdue reviews come from that model, and four spaced-repetition (Leitner) reviews are scheduled per topic. Clicking a lesson opens its report card: start/finish dates, test count, written notes, photo summaries and voice reports.
The study view is a focus timer bound to the selected lesson; when a session ends, its duration and test count are logged to the report card. A Jalali calendar shows minutes and sessions per day, carries a daily to-do list and builds the monthly study report. Study sources (textbooks, handouts, summaries) are kept as PDFs in per-subject folders, and the AI quiz builder generates multiple-choice questions of the requested difficulty and count from the text of those PDFs, feeding the results back into topic mastery.
Technically, the front end is React, TypeScript, Vite and Tailwind installed as a PWA with a service worker; progress is stored on the device first and synced to the server with per-topic merging, so editing on two devices never wipes data. The main backend is Django/DRF on PostgreSQL, with images and audio on S3-compatible object storage. SMS-code login (Kavenegar), 1–12 month subscriptions with school coupons and Zarinpal payments are built in.
It runs on a dedicated server behind Nginx, Gunicorn and systemd with automated daily database backups, and is in daily use by real students.
Key features
- Interactive knowledge map per grade, track and subject with chapters and lessons
- Per-topic mastery score with time decay (forgetting curve) and status colouring
- 4-stage spaced repetition with overdue-review reminders
- Focus timer with automatic session logging to the topic report card
- Jalali calendar with daily/monthly reports and to-do lists
- Topic report card: dates, test counts, notes, photo summaries, voice reports
- PDF source management and an LLM-based quiz builder
- Offline-first PWA with per-topic sync across devices
- SMS login, subscriptions, school coupons and Zarinpal payments
Technologies
My role
Product design, architecture & full-stack development
A live commercial product; using it requires signing up with a phone number. The source code is private.
Screenshots