Context before guessing. Practice before punishment.
Hello, operator.
I am building lesson.exe, a free, game-inspired English learning application for people who want to understand the language instead of guessing what an exercise expects from them.
The project combines structured 45-minute lessons, explicit Russian explanations, adaptive vocabulary practice, focused error repair, progression maps, small learning games, and an optional lesson-scoped mentor. Its game layer exists to make consistent practice easier. The educational layer always comes first.
Current status: active private alpha. The application is still in development, and no public binary release is available yet.
Many beginner-facing products show an unfamiliar sentence and immediately ask for an answer. Without context or a translation, learning turns into trial and error.
lesson.exe is designed around a different loop:
- Explain the rule and the context in clear Russian.
- Show practical English examples with translations.
- Let the learner practice through deliberate keyboard-first interaction.
- Stop after a mistake and explain it before moving on.
- Remember weak points and return to them later.
- Separate real CEFR progress from XP, rank, and cosmetic progression.
- Free to use. Support will be optional and will not buy language progress.
- No guessing required. Translations and explanations are available when they are useful.
- Forty-five-minute lessons. Each published lesson follows a validated learning contract rather than a random list of exercises.
- Errors are useful data. Lesson, diagnostic, and mini-game mistakes feed a personal weak-points system.
- Games serve learning. Vocabulary games reinforce recall, spelling, meaning, listening, and grammar.
- Progress stays honest. XP and rank reward activity, but CEFR changes only through course gates or confirmed diagnostics.
- Local-first options. Development and content processing run on my own hardware; local model inference is supported where practical.
- structured CEFR routes from A0 upward;
- nested lesson maps with checkpoints, bosses, and memory fragments;
- lesson review and targeted Patch Mode;
- adaptive vocabulary routing based on errors, mastery, and repetition;
- educational mini-games with server-validated sessions and rewards;
- a scoped mentor that can only answer from the current lesson context;
- placement diagnostics and explicit CEFR upgrade confirmation;
- achievements, weekly leagues, activity history, lore, and a world codex;
- authoring, validation, and review tools for new lessons.
- Frontend: React, TypeScript, and Vite
- Backend: Python, FastAPI, and Pydantic
- Persistence: SQLAlchemy, Alembic, PostgreSQL in production, SQLite for local development
- Content: versioned JSON contracts, strict validation, review gates, and map linkage
- Local language models: optional Ollama-based inference for lesson-scoped assistance and draft processing
- Operations: Docker Compose, migrations, deterministic demo data, health checks, and structured logs
The application source is maintained privately. This public repository is the project home and the future distribution point for the open educational data layer.
My grammar and vocabulary research includes well-known Cambridge learning series such as Essential Grammar in Use, English Grammar in Use, Advanced Grammar in Use, and English Vocabulary in Use.
These books are pedagogical references, not open-source material. Their PDFs, scans, page images, answer keys, and copied passages are not distributed here. Public lesson content must be independently written, reviewed, and cleared for publication.
The content pipeline runs locally on my own hardware:
reference study
-> candidate extraction
-> normalization and deduplication
-> original Russian explanation and examples
-> 45-minute lesson compilation
-> strict validation
-> human review
-> public data release
Read more in docs/CONTENT_PIPELINE.md.
lesson.exe uses a deliberate split-license model:
| Part | Availability | License |
|---|---|---|
| Application source code | Private | All rights reserved |
| Released application binary | Freeware | Separate proprietary release terms |
| Educational database structure and arrangement | Public | ODbL 1.0 |
| Original definitions, Russian translations, examples, and lesson text in public data releases | Public | CC BY-SA 4.0 |
| Third-party books, trademarks, and source material | Not redistributed | Their respective owners' terms |
Publishing a repository on GitHub does not make the application open source. See LICENSES.md and SOFTWARE_NOTICE.md for the exact boundary.
data/ public educational data releases when they pass review
docs/ architecture, content process, and project roadmap
schema/ machine-readable lesson and vocabulary contracts
No application source code, private reference library, user data, production database, secrets, or private development records belong in this repository.
The first public contribution surface will be educational data: corrections, original examples, translations, metadata, and schema feedback. Contributions must be original or compatible with the repository licenses.
See CONTRIBUTING.md.
lesson.exe is an independent project by DenisGeide. It is not affiliated with or endorsed by Cambridge University Press & Assessment, Raymond Murphy, Martin Hewings, Square Enix, PlatinumGames, SUPERHOT Team, or any other referenced author, publisher, studio, or trademark owner.
Third-party names are used only to identify pedagogical references or design influences. See THIRD_PARTY_NOTICES.md.
Designed and developed by DenisGeide.