Franki is a French subtitle mining assistant that helps language learners turn TV shows into personalized vocabulary flashcards — automatically.
Inspired by my grandma’s old Larousse dictionary game, Franki brings slow, deliberate vocabulary discovery back into the digital age — from clipboard to Anki.
Franki listens to your clipboard and:
- Detects new subtitles (e.g. copied via the ASBPlayer extension).
- Extracts hard words using:
- Lemmatization via spaCy French model
- Filtering out common French words using a top 50k frequency list
- Removing stopwords and named entities
- Looks up definitions from Larousse.fr
- Formats a clean Anki card with:
- The subtitle for context
- The word and its definition, including synonyms and antonyms
- Sends the flashcard to Anki using AnkiConnect (NOTE: you have to configure AnkiConnect first in the Anki app, this is a nice video explaining how to expose Anki on
localhost, port8765, as required by Franki)
- Configure AnkiConnect, and create a
frankideck in your Anki app. This is a nice video explaining how to expose Anki onlocalhost, port8765, as required by Franki. - Install the
asbplayerbrowser extension.
- Clone the repository:
git clone https://github.com/alexandra-murariu/franki.git cd franki - Create a virtual environment and install dependencies:
python3 -m venv .venv source .venv/bin/activate pip install .
This is the command to start Franki and generate cards:
python -m frankiBefore this, make sure the asbplayer extension is mining the subtitles in your browser. This is a tutorial to get you started: