A personal operating system for learning languages. Read, review, listen and speak in one place.
Status: in daily use (French) · Type: personal project · Built with: AI coding agents
Serious language learners end up juggling a reader, a flashcard app, a subtitle tool and a dictionary. Language OS brings the best ideas from those tools into a single local platform that plans each session around what the learner actually knows.
- Click-to-translate reader. Every word carries a status, from unknown to known, and any word or phrase becomes a card in one click.
- Real spaced repetition. FSRS-6 scheduling with recognition, listening, cloze, dictation and phrase cards.
- Session planner. "I have X minutes" becomes a session of due reviews, reading, listening and shadowing.
- Import almost anything. Text, web pages, PDF, EPUB, subtitles, audio and video with speech recognition, YouTube, public-domain books, Wikipedia and RSS.
- Sentence mining (i+1). Finds sentences with exactly one unknown word.
- Audio and shadowing. Text-to-speech at adjustable speeds, karaoke-style highlighting and pronunciation scoring.
- Optional AI tutor. Conversation and writing labs with the learner's choice of provider, including a fully local model.
- Stats. Retention, streaks and an estimated CEFR level.
flowchart LR
I["Import: text, PDF, video, web"] --> L["Library"]
L --> R["Reader"]
R --> V["Vocabulary states"]
V --> C["FSRS cards"]
C --> S["Session planner"]
V --> S
S --> R
S --> A["Listening and shadowing"]
Local-first by design: a single user, a single database, nothing exposed to the network by default.
Python · FastAPI · SQLAlchemy · SQLite · React · TypeScript · Vite · FSRS-6 · faster-whisper · edge-tts
Vibecoded by a lawyer, pairing with AI coding agents (Claude Code, OpenAI Codex and others) for architecture, implementation, audits and fixes.
This repository is a public showcase. The source code and study data are private.
Made by Armando Lopes Costa · LinkedIn
