Language learning platform with image analysis and spaced repetition
Playing in German, you often understand only half the dialogue, and looking things up interrupts the game. A screenshot is enough: the rest happens on its own.
Features
- Screenshot to a Telegram bot, processed through a queue
- OpenAI Vision reads the text from the image and translates it with grammar notes
- The web interface shows the result as it arrives (server-sent events)
- Phrases are extracted and collected in a database of their own
- Review follows the SM-2 algorithm: whatever is hard comes back more often
Result
- 51 commits
- Self-hosted, no third-party service between the user and their data
From the same foundation
Two further tools grew on the same chain of capture, queue, model call and own database.
- Understanding voice messages: Baileys reads WhatsApp along, German voice notes run through speech recognition, every message is translated, and a Telegram bot returns transcript, translation, summary and open tasks.
- Interview trainer: questions and answers spoken aloud and timed, built on a real career rather than invented examples.
The second and third tool each cost a fraction of the first, because the queue, the storage and the bot connection were already in place.
Stack: Node.js 22, TypeScript, OpenAI Vision, Telegram Bot API, SQLite, SSE