Skip to content
All case studies

Product · EdTech

Dojolom

Dojolom profiles how someone learns, then delivers short daily sessions that mix review, format-matched teaching, mini-games, and quick checks. A Leitner spaced-repetition engine and a behaviour log adapt the format and review timing over time. It is a static Next.js app with unit and end-to-end tests.

Source on GitHub
Role
Creator & developer
Client
Own product
Timeline
2026
Year
2026
D

Learner profile from five onboarding scenarios

Leitner spaced repetition at 1, 2, 4, 7, 15, and 30 days

Fully static, tested with Vitest and Playwright

Overview

Most learning apps teach everyone the same way. Dojolom starts by working out how a learner prefers to take things in, then shapes every session around that, while spaced repetition makes sure what was learned comes back at the right time.

What I built

A static-exported Next.js app with no backend; progress lives on the device. The session engine sequences review, teaching, play, and checks, the spaced-repetition scheduler decides what returns and when, and a content validator keeps lesson units consistent. Unit tests cover the learning logic and Playwright covers a full study session.

Key features

Onboarding by age, subjects, goal, and time, plus five scenarios that assign a learner profile

Daily session engine: Rewind → Learn → Play → Quick check → Done

Leitner boxes 0–5 with same-day answers never promoting a card

Teaching format and games adapt from a behaviour event log

Cross-subject catch-up review

Validated content units for languages, maths, and science

Built with

Next.jsTypeScriptTailwind CSSshadcn/uiVitestPlaywright

Have a project like this?

I take products from first sketch to shipped, design, build, and the AI in between. Tell me what you’re working on.

More work