Inspiration

I have been "learning" Spanish on Duolingo for too long. I can tell you that the boy has the apple, that the library is near the bank, and that the chicken eats rice. I cannot, for the life of me, explain what I actually do for a living, because nothing I do for a living involves apples, banks, or rice except when I'm eating them.

This is the failure mode of every pre-built language curriculum: it teaches you the median learner's vocabulary, smoothed across millions of users. The price of that scale is that none of it is yours. The content of language learning is solved — translation, conjugation, pronunciation, spaced repetition are all commodity capabilities now. What's still bad is the selection problem: which 2,000 words out of 50,000 are the ones I specifically need first? The answer was sitting in my pocket the whole time. I produce a corpus every day — texts, emails, articles I read, YouTube videos I watch. That should be the curriculum.

What it does

LinguaMind is an AI language coach that turns your real text into a personalized course.

You paste anything you actually wrote, read, or watched: a work email, a journal entry, a YouTube transcript, a WhatsApp thread. An LLM extracts the 30–60 target-language words and phrases you'd need to express those same ideas, level-prioritized, with the source sentence preserved for each. Those drop into an SM-2 spaced repetition deck — same algorithm Anki uses, but the cards are about your life instead of someone else's farm. An AI tutor then runs role-play conversations grounded in your source material, so you're rehearsing things you'd actually say, not phrasebook small talk. A dashboard tracks "words from your real life mastered," streaks, and a running grammar gap analysis that surfaces which structures keep tripping you up across the things you actually read.

Eight target languages on day one: Spanish, French, German, Italian, Portuguese, Japanese, Korean, Mandarin.

How we built it

LinguaMind composes four MeDo plugins. Each would be a weekend on its own; wiring them together took an afternoon.

  • LLM plugin — vocabulary extraction with level priors, translation, role-play tutor, grammar gap analysis. One plugin, four very different prompts, each pipeable into the next without serialization glue.
  • Persistent storage plugin — per-user vocab graph (word, lemma, source sentence, mastery state), SM-2 scheduling state, and source library. No migrations, no database console, no Postgres in my brain.
  • URL/web plugin — YouTube transcript and arbitrary article ingest in a single call. The unsexy hero — this normally eats a day on transcript APIs and the one weird video with three-language captions.
  • Audio plugin — pronunciation, but only on the vocabulary the LLM extracted upstream. The user's own words, spoken in a native voice.

The product is the wiring — the specific shape of the pipeline — not any single plugin. That's the right factoring of effort for a solo build. I spent my time on the curriculum problem and the UX of "paste your text here," not on reimplementing a TTS client.

Frontend: React + Tailwind, deployed on MeDo's one-click hosting. LLM responses powered by OpenAI via MeDo's LLM plugin.

Challenges we ran into

The LLM is much better at vocabulary extraction when you give it the user's level alongside three example words the user already knows. I shipped a one-shot prompt first; output was fine. The same email gave wildly different correct answers for an A2 learner versus a B2 learner, and only the level-conditioned version felt useful. Obvious in retrospect, surprisingly load-bearing in practice.

Grounding the role-play tutor in the user's pasted source material was the second hard part. The tutor needs to use the exact vocabulary the user just imported — not synonyms, not "close enough" rephrasing. Solved by passing the active vocabulary deck as constrained context with each tutor turn.

Accomplishments we're proud of

Four MeDo plugins composed into a coherent product, end to end, in one weekend. A demo that takes any pasted text and produces a working personalized course in under 10 seconds. A language-agnostic architecture: the same pipeline works for Spanish, French, German, Italian, Portuguese, Japanese, Korean, and Mandarin without per-language code paths.

What we learned

The level-conditioning loop (storage → LLM → storage) is what makes the product feel personal rather than generic. Without it, the LLM produces the same list for any B1 learner. With it, the list adapts session over session. Small prompt change, large product difference.

What's next

  • Browser extension: highlight any text on the web, send to LinguaMind.
  • Spaced-repetition-aware tutor: prioritize role-play scenarios that exercise cards due for review.
  • Conversation export: dump the role-play sessions into the source library so today's mistakes become tomorrow's flashcards.
  • A shared-deck mode so multiple learners studying the same target language can pool their source-derived vocabulary.

Built With

Share this project:

Updates

posted an update

Four plugins composed — that's the whole product

Closing thought as the submission window winds down.

LinguaMind is four hard problems in a trench coat: vocabulary extraction (LLM), per-user state with a vocab graph and SM-2 scheduling (storage), URL + transcript ingest (web plugin), pronunciation (audio plugin). In a normal weekend, that's four vendor SDKs, four auth flows, four sets of edge cases.

MeDo's plugin model collapses that. I spent my time on the curriculum problem and on the "paste your text here" UX — the part I'm actually good at. I did not spend time reimplementing a TTS client or building a Postgres schema for SRS reviews.

If "AI app development" works in a year, I think it looks like this: the LLM is one plugin in a stack, and the stack is composable enough that a solo builder can wire four of them into a working product over a long evening.

That's what's interesting about MeDo. The product is the wiring, not any single plugin.

Try it: https://app-boxm5fa7smip.appmedo.com/

BuiltWithMeDo

Log in or sign up for Devpost to join the conversation.

posted an update

Final submission is live — demo video + architecture

LinguaMind is officially submitted to the Build with MeDo Hackathon (Learning & Education).

If you're skimming projects, the 2-minute walkthrough is the fastest way to grok what it does — it shows the paste-an-email → vocab-extraction → AI-tutor-role-play loop in one take. The architecture diagram in the gallery breaks down which MeDo plugin does what.

Three things I'm proud of:

  • The vocab extractor produced 38 phrases from a single casual email, level-conditioned to my Intermediate setting, each card tied back to the source sentence.
  • The AI tutor role-plays grounded in my own extracted vocabulary — when I replied correctly, it quoted my exact phrase usage back as feedback.
  • The whole product is the wiring of four MeDo plugins. Maybe an afternoon of glue. No custom backend.

Demo: https://app-boxm5fa7smip.appmedo.com/

BuiltWithMeDo

Log in or sign up for Devpost to join the conversation.

posted an update

The one prompt change that fixed extraction quality

Posting a quick build-note because the lesson surprised me.

First version of LinguaMind's vocab extractor was a single LLM prompt: "given this text, return the useful vocabulary." Output was fine. Generic-fine.

Adding two things to the prompt 10x'd it:

  1. The learner's CEFR level (A1 / B1 / C1 etc.)
  2. Three concrete words the learner already knows comfortably

The three known-word examples anchor the model far more reliably than the abstract level label alone. The same email gives wildly different correct answers for an A2 learner vs a B2 learner, and only the level + known-words variant reads as "uncanny how well it picked the right ones."

This is now the same shape every MeDo LLM-plugin call in LinguaMind uses: pull the user's state from the persistent storage plugin, condition the prompt on it, write any new state back.

If you're building on MeDo, this pattern is reusable everywhere.

BuiltWithMeDo

Log in or sign up for Devpost to join the conversation.

posted an update

Final submission is live — demo video + architecture

LinguaMind is officially submitted to the Build with MeDo Hackathon (Learning & Education).

If you're skimming projects, the 2-minute walkthrough is the fastest way to grok what it does — it shows the paste-an-email → vocab-extraction → AI-tutor-role-play loop in one take. The architecture diagram in the gallery breaks down which MeDo plugin does what.

Three things I'm proud of:

  • The vocab extractor produced 38 phrases from a single casual email, level-conditioned to my Intermediate setting, each card tied back to the source sentence.
  • The AI tutor role-plays grounded in my own extracted vocabulary — when I replied correctly, it quoted my exact phrase usage back as feedback.
  • The whole product is the wiring of four MeDo plugins. Maybe an afternoon of glue. No custom backend.

Demo: https://app-boxm5fa7smip.appmedo.com/

BuiltWithMeDo

Log in or sign up for Devpost to join the conversation.