Grades turn into game minutes by a table you set, homework pays a bonus when it is on time, and weak topics keep coming back until they have been repeated enough. Because it is one database per child, the tutoring session and the incentive scheme stay in step.
A per-student learning workflow server backed by SQLite. Subjects, grades on the 5-point European scale, topics needing work, homework with deadlines and bonus tasks all live in one database, and grades convert to game minutes through a map you configure. Each instance serves a single student; a second child gets a second instance.
- School subjects created, listed and updated, with multi-country support (UA, CZ, DE and others)
- Grades recorded on a 5-point scale where 1 is best and 5 is worst
- Topics opened for weak areas, listed, and closed once they stop needing review
- Homework tracked against deadlines, with on-time and overdue minute adjustments
- Bonus tasks that reward game minutes, capped at 4 pending and 15 completed in a rolling week
- Game minutes kept as an immutable ledger of what was earned and spent
- A textbook library with markdown summaries and indexed content
- Topic reviews that keep a weak area open until the repetition threshold for its grade is met
- Escalation notices to parents on a bad grade
- Pluggable sync providers — EduPage, PRONOTE — with credentials held in a secrets table
Python with Poetry, plus one Alembic migration to create the database. It defaults to ./data/learning_hub.db, and an environment variable points it somewhere else. Runtime behaviour — the grade-to-minutes map, review thresholds, homework bonuses, default deadline time — lives in the database and is set through tools rather than a config file. The project describes itself as beta, tested with one family.
Build from source — clone the repository and build it, then point your client at the binary
