A user brings their own AI account (say, their own Gemini Pro login) and some source material — a book, a PDF, a chapter, a screenshot of a lesson — picks a card type, and the system asks their AI to turn that source into a deck, in the same structured format the rest of WordSense uses. This checkpoint captures the vision you've already described and the handful of questions that shape it. Nothing here locks in a build.
Quoted from v4-refactor-plan — lightly cleaned up from voice dictation, your words
"We shouldn't be so concerned about the content, but the thing that we need is the ability to have ad-hoc learning — L1 equals L2 — and have the system be able to generate cards based on some kind of prompt or input or something like that. Not exactly sure if it should be a separate product or not, but it's definitely in my target functionality line, and I think it's going to be an important aspect of this application moving forward."
"Some of the other card archetypes may not actually have a situation where L1 differs from L2 — it may be that L1 equals L2, so if they're just learning vocabulary or information in one language, we won't do any translating, but we'll still generate the necessary content in that language. That's private data more than likely, or custom data. I haven't worked out if I'm going to have profile packs with preset card archetypes and content, other than the language learning we're doing right now — which is well-defined: Indonesian into English."
The reason this belongs in the v4 conversation at all: if the "Card Types" checkpoint's Decision 3 lands (generated, self-documenting schemas per card type, pulled straight from the database), those same schemas become the target format an ad-hoc request sends to the user's AI — and the card types themselves (simple flashcard, cluster card, grammar-rule card) become the menu a user picks from. Nothing new has to be invented for ad-hoc generation to work; it's a new front door onto machinery the refactor already builds.
vocabulary-schema.ts) the main pipeline enriches to, or a different, simpler format built just for this?