Super Kitobxon
Super Kitobxon is an online speed-reading school platform: courses and protected video lessons, 32 interactive trainers (Schulte table, RSVP and more), mentor-led groups, books, progress charts and Click/Payme payments.
Super Kitobxon is an online speed-reading school: a student buys a course, works through video lessons and exercises, trains daily on the trainers and tracks results on charts. I built the platform's frontend — the student app and the admin panel.
For students
- Courses: catalog, comparison and filters, enrollment; a lesson tree and a lesson player with text, files, tests and exercises.
- 32 trainers in 7 categories: Schulte table, RSVP reader, WPM test, zigzag, Spritz and block methods, “curtain” reading and more; sequential trainer programs and results history.
- Progress: 7-, 30-, 90- and 365-day charts and stat cards.
- Groups and books: mentor-led groups, a library with a PDF reader and an audio player.
- Focus tools: timer, metronome and background music.
- Sign-up with an SMS code, device session management; payments via Click and Payme.
Admin panel
Management of courses, sections, lessons, videos, tests, exercises, users, groups, books, music and trainer content (words, texts, images); manual course enrollment and an in-app translation editor.
Technical solutions
- Trainer registry: each trainer is loaded on demand (lazy), the backend only configures the list — if the API is down, it still works with the local list.
- Shared trainer environment: sound, fullscreen, speed, pause when the tab is hidden, and results returned in a single format; an exercise result is a 0–1 ratio, scored by the points set by the admin.
- Accurate timer: time is calculated not from
setIntervalticks but from theDate.now()difference — it doesn't drift even on slow devices. - Video protection: a moving watermark with the user and session ID, and access via a signed cookie.
- New version: a new build is checked every 10 minutes and applied on the next page navigation — never in the middle of an exercise.
- Typed API: types are generated from the backend's OpenAPI schema; 4 languages, with Cyrillic text generated automatically from Uzbek Latin; 62 test files.
My role
The frontend is entirely mine: 43 pages, 246 components and 32 trainers. The backend (Django) is handled by a separate team.
Result
Students take courses, exercises and daily trainer sessions on one platform and see on charts how their reading speed is growing.