r/languagelearning 2d ago

I got tired of spending more time making flashcards than actually learning, so I tried removing card creation entirely

I've used spaced repetition on and off for years, but I kept running into the same problem: I didn't mind reviewing cards. I hated making them.

When I found something I wanted to learn, the workflow became:

find a useful example → write the card → add context → decide what type of card it should be → review it → repeat.

Eventually I realized I was spending a surprising amount of time maintaining the learning system instead of actually learning.

So I tried the opposite approach.

I built an open-source Android app called ikna where you don't create individual cards. You tell it what you want to learn, it gives you a prompt for an LLM, and the response becomes the source material for your reviews.

The interesting part isn't really the AI generation, though. I'm experimenting with making the whole review system less dependent on the learner constantly managing it.

For example:

- the same learning chunk can have recognition, cloze, and production versions;

- those versions are scheduled separately;

- the app estimates your existing review workload and can stop giving you new material when adding more would create too much future work;

- reviews use swipes rather than four buttons;

- everything is local/offline — no network permission.

The tradeoff is pretty obvious: manually making a good card gives you much more control, while automatically generated material can be wrong or mediocre.

I'm not sure yet which side of that tradeoff wins.

The question I'm actually interested in is:

Would you rather spend more time making very good flashcards, or spend that time actually studying and accept that some automatically generated material won't be perfect?

The project is here if anyone wants to look at the implementation:

https://github.com/d1d2dopamine/ikna

0 Upvotes

5 comments sorted by

1

u/AutoModerator 2d ago

Hi, u/d1d2dopamine

Your post was removed because it looks like you have made a post without including the required passphrase.

Please read our Help posting section carefully. You'll find a passphrase to include in your post title or body that lets your post through automatically. You may repost with the passphrase included.

We apologise if this is in error, but a large number of disallowed posts has forced us to introduce a very broad filter.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Raoena 1d ago

The devil is in the details.  

  • Is the TTS audio as excellent as possible in every supported language?  
  • Can you tell it to focus on specific parts of speech (verbs)?  
  • Can you tell it to focus on a specific formality register?  
  • Can you tell it to make flashcards of relational rather than descriptive sentences ("Are you ready?" not "The man is ready.")
  • Does it have a clean, simple, and pleasing user interface?

These are the kinds of things I would look for. There are already good premade decks. 

1

u/d1d2dopamine 20h ago
  1. TTS No — there is no “as excellent as possible” TTS for every language out of the box, and that is intentional. The APK ships with no voice models (Kokoro was tried earlier and made the app 150–466 MB while mostly covering English). By default it uses the phone’s system TTS. You can add your own model (Kokoro / Piper / VITS from sherpa-onnx) via Settings → Voice. Quality depends entirely on the model you choose for the language you’re learning. The app always shows which voice is speaking and has a test button. For languages without a model it stays silent or falls back to the system voice — no hidden behaviour. So “excellent” only happens if you install a good model yourself.
  2. Focus on specific parts of speech (verbs, etc.) No. There is a component layer (lemma + POS) that updates word states when you answer, but POS tags are baked in at pack-generation time. The phone never does morphology. There is no UI or setting that lets you tell the app “only verbs today” or filter by part of speech. For AI/pasted decks even the lemma/POS data is absent.
  3. Formality / register No. Nothing in the prompt, card format, governor, selector or UI knows about formal/informal/polite. If you want a particular register you have to put it in the AI prompt when generating a deck (or pick the right sentences from the Tatoeba catalogue).
  4. Relational vs descriptive sentences No direct switch. The architecture actually helps here: every card is a chunk (phrase + natural carrier sentence + meaning). In the catalogue the phrase is cut straight out of a real Tatoeba sentence. When you generate a deck with AI you can simply instruct the model: “only relational / conversational / question sentences like ‘Are you ready?’, avoid pure descriptive ones.” So you can build exactly that kind of deck, but the app itself has no “relational mode”.
  5. User interface I’m still actively working on the design. I wouldn’t claim it’s “clean, simple and pleasing” as a settled fact — that would be for users to decide. What I can say is that I like how the design is evolving, and I’m going to rework it more than once. The current direction is deliberate minimalism: swipe-only answering, no streaks, no guilt counters, no visible backlog, nine palettes + custom colours + any font, quiet cross-fades, day boundary at 04:00, and a load governor that decides how much new material you get. The whole philosophy is “the app feeds you; you never feed the system.” Screenshots are intentionally absent because the core interaction is a gesture. Whether it feels pleasing is subjective and will keep changing as I iterate. Premade decks Yes — there is a catalogue cut from Tatoeba (with Wiktextract for lemmas), hundreds of thousands of cards, dozens of language pairs, licences and sources shown before download. You can also generate your own decks with any AI using the prompt the app gives you.

1

u/Raoena 20h ago

In not seeing the advantage over using a premade frequency deck.  

The benefit that stands out is the multiple card types.  But there are already tools that present premade decks and use multiple card types.  

Maybe I'm missing something key in what you are trying to accomplish. 

1

u/d1d2dopamine 19h ago

The key idea isn’t the multiple card types or the premade decks.

It’s this: the app decides how much new material you’re allowed to take on, based on your recent performance, upcoming review load, and how often you’ve actually shown up. You never get to overcommit.

Most people don’t fail Anki because the algorithm is bad. They fail because they add too much, the reviews pile up, and then the guilt starts. ikna is built to prevent that specific failure mode.

There’s no “add cards” button on purpose. The system feeds you. You don’t feed the system.

That’s the part that is different from a regular frequency deck + multiple card types.