How DuoNinja works
Last updated: 2026-07-05
DuoNinja brings together your language setup, lessons, reading, vocabulary, and flashcard decks in one app.
Need help, found a bug, or have an idea? Use the Feedback button on this page or in the app menu.
How things fit together
Your language course is the main container for a single learning setup. However, different settings can have different scopes depending on what they control.
- Lessons are structured lesson tracks you open from the Lessons tab. When you finish a lesson session, words from the phrases you studied are tracked as Seen in Vocabulary.
- Read tracks words as Seen when you mark a text as read or move to the next page in books.
- Watch contains YouTube videos and channels. Look up words from captions and save them for later practice. The words from captions will not automatically be tracked as Seen.
- Vocabulary stores words and meanings for one language course. One word can have multiple meanings.
- Decks (under Vocabulary) are for flashcard practice. A word and its meaning can be linked to one or more decks. If the same meaning appears in multiple decks, review progress follows that shared meaning.
- Roadmaps (under Grammar) are for keeping track of things you want to learn in general (whether it's in DuoNinja or something external). You can generate lessons from the items in roadmap.
- The browser extension is for importing vocabulary to DuoNinja and for displaying double captions in YouTube.
Your language course and lessons
Your language course is your main learning setup, such as Spanish from English. It controls your decks, reading, Vocabulary, daily goal, streak, and default language preferences.
You can have more than one language course and switch between them. A course can also have a regional variant, such as Brazilian Portuguese vs European Portuguese, so reading, spelling, phrasing, and audio better match what you want to learn.
Lessons are structured learning paths with units, phrases, and exercises. They are separate from your language course setup.
When you finish a lesson session, DuoNinja adds words from the lesson phrases to your Vocabulary as Seen. Keywords from the lesson word list also get a Seen translation when the lesson provides one. Lesson review (practicing phrases you already studied) does not add new words to Vocabulary.
Vocabulary is also filled through reading, decks, and meanings you save yourself.
Daily streak
Your streak shows daily consistency. It counts at most once per calendar day in your timezone.
You can keep your streak by completing any one of these activities:
- Lessons - complete a lesson.
- Flashcards - complete a flashcards session.
- Reading - read at least 200 words in a day.
- Listening - listen for at least 5 counted minutes in a day.
Reading counts newly read words. Listening counts when the audio plays, including when you listen to the same text again.
Streaks are per user, not per language. It does not matter which language you study, as long as you complete one qualifying activity that day.
Each learner can use up to 2 streak freeze days per calendar month. Unused freeze days don’t carry over.
Reading
Read articles and books matched to your active language course. When you mark a text as read, or move to the next page in books, DuoNinja can track words from that text or page as Seen in Vocabulary.
If you tap a word and save a meaning, that meaning is saved to Vocabulary. In articles, you can also select a short phrase and save a meaning for the whole phrase. Neither action automatically turns every word into a flashcard.
Watching
Watch YouTube videos and look up words in captions.
You can save words to Vocabulary and Decks. The words in captions are not automatically added to Vocabulary as seen words.
Vocabulary
Your Vocabulary belongs to one language course. It shows words DuoNinja has seen and meanings you have saved.
- Word - the word or phrase in the language you're learning.
- Meaning - the translation or explanation for that word, each word can have multiple meanings.
- Source text - the text segment (usually sentence) where the meaning was first saved from.
- Example sentence - the example sentence used for practicing a specific word-meaning pair in a specific flashcard deck (the default example sentence is copied automatically from source text when the meaning is added to a deck).
Filters and states:
- Saved - you chose to save a meaning to your Vocabulary.
- Saved in decks - saved words that have at least one saved meaning linked to a flashcard deck.
- Saved outside decks - saved words with no saved meaning linked to a flashcard deck yet.
- Synonyms - different words that share the same saved or seen meaning.
- Seen with meaning - the word has at least one translation from reading, lessons, or decks that you have not saved yet.
- Seen without meaning - the word is listed, but it has no translation yet.
- Seen words - every word DuoNinja has tracked in your Vocabulary, with or without a meaning.
- In deck - that saved meaning is linked to one or more flashcard decks for Study.
A saved meaning is shared across the app. If it appears in more than one deck, editing it or reviewing it updates the same meaning everywhere.
Deleting a word removes it and its meanings from Vocabulary. Reading will not add that word back automatically when you see it again, but you can add it again manually by saving it from lookup or by adding/importing it through decks.
You can filter Vocabulary by source, including Lessons, to see words first noticed while studying a lesson course.
Decks, Vocabulary, and Study
Under Vocabulary you manage your decks. Decks are public by default, but you can make them private when you don't want to share them.
You can add cards by hand, paste a bulk list, import from Duolingo with the browser extension, or copy public decks from Community when the languages match.
There are two types of decks - flashcard decks and generated drills decks.
Flashcard decks preserve the word form and meaning of the word you added to the deck.
Generated drills decks are for practicing specific forms of the words. When you add an existing word, AI will autogenerate a specific form based on your instructions and add those words as seen words (along with the meanings) to your vocabulary. When you add cards manually to the deck from scratch, their form will be left intact - AI does not generate anything extra in that case.
Decks use spaced repetition system (SRS).
Deck progress states
Deck progress shows how far your deck has moved from new material toward stable memory.
- New - cards you have not studied yet.
- Learning - cards you have started studying, but DuoNinja still brings them back frequently.
- Reviewing - cards that are being spaced out over time.
- Learned - cards you have remembered across longer gaps.
Learned cards can still come back for review later. It means they are stable enough to count as progress, not that they are gone forever.
Audio
Your language course can have a default voice for the language you're learning. That voice is used across the app when nothing more specific is set.
Lesson courses and flashcard decks can specify their own voices and override the default voice.
Books have a speak aloud function which uses the voices from your browser/device. The options there are out of DuoNinja's control and depend on your system.
AI actions and credits
Some helpful actions use AI, such as generating example sentences, translating sentences, translating selected words, or creating images. These actions use credits. Premium gives higher limits.
Duolingo vocabulary import
The DuoNinja browser extension can import Duolingo vocabulary into a deck so you can practice it here and use it to filter out suitable content.
Duolingo keeps changing their interface, so the vocabulary might not always be available or is available only partially.
YouTube double captions
The DuoNinja browser extension displays double captions in YouTube. It also tracks the listening time toward your listening goal (by matching the video language to the course language).
You can hover the words in captions and see the translation. The words you save from captions can be filtered out in Vocabulary by setting the source to "YouTube".
Feedback
Questions, bugs, and ideas all go through the feedback form. Use the Feedback button on this page or in the app menu.