What it does

An Anki add-on that integrates the Janulus method into daily review by: Emphasizing pronunciation practice during card review Personalizing vocabulary based on user prompts Adding grammar flags to target specific structures for focused practice Supporting structured output exercises rather than passive recognition

How we built it

Built as a Python-based Anki add-on using Anki’s add-on API Integrated Google Gemini for sentence generation and vocabulary personalization Used Google Translate API for multilingual support Integrated Google Text-to-Speech and ElevenLabs for pronunciation audio Designed and enforced a clean architecture to separate generation, translation, audio, and Anki-layer concerns Built and optimized an asynchronous processing pipeline to handle API calls efficiently without blocking the Anki UI

Challenges we ran into

Optimizing the asynchronous pipeline while keeping the UI responsive Managing multiple external API calls (generation, translation, TTS) reliably Designing a clean architecture within Anki’s plugin constraints Avoiding tight coupling between AI services and the core review workflow Handling latency and failure cases gracefully

What we learned

Clean Architecture principles. A LOT about grammar.

What's next for Janulus.ai

Improving pronunciation feedback (not just playback) Expanding personalization and user grammar learning. Exploring deeper adaptive learning based on user performance

Built With

Share this project:

Updates