I wanted more ways to actually study, so I built my own tool to use alongside the apps I already had.
I’ve always liked language learning, and I was using several good tools to study French, German, Italian, and Japanese — a daily practice app, a podcast course, and a flashcard system. I still use all of them; none of what follows replaces them. What I wanted was more options for actually studying, because each tool had a gap that I wished could be bridged.
A session would introduce new vocabulary, and once it ended, I’d likely never see those words again unless I went out of my way to review them. I tried moving words into my flashcard app myself, but that was tedious. It was only ever as good as what I’d typed into it, with no way to ask it a question or say, “Wait, why is this like this?” One example is Japanese rendaku. My apps could give me the rule, but they still didn’t answer the questions I had when an example didn’t exactly fit the pattern. Also, I didn’t have a real way to drill verb conjugations or set difficulty levels. I’m sure individual tools exist for each of these needs, but I wanted one place to train on all of them together.
So I started building something of my own — at first just a place to combine the pieces I was juggling across apps into one spot: flashcards, a kanji writer, mixed-mode training, text-to-speech, and support for all four languages. I had a baseline version working within a day. A week in, I had something I could actually use daily.
That’s when it turned into a running project instead of a finished one. The more I used it, the more ideas I had for ways to improve it, and I kept adding features: a built-in retry for cards I missed; a dictionary I could use from the site to look up words from my own cards, with a fallback to an external lookup if a word was missing and an option to add it to my own deck for future reviews; and the same setup for verb conjugations — search my own deck first, then fall back to an external site when it’s missing. I added a way to jot down one-off notes I wanted to keep. I also added verb-conjugation drills with settings that I could adjust to limit how many verb tenses I studied at one time, to make studying them less overwhelming. I added everyday household math equations as an exercise option, along with some cognitive games for fun. I added other controls that let a user customize the learning experience for their needs.
I added the Ask AI feature, which was especially useful because it passed the context of the current card into the AI session. That made it easier to ask, “Why is it like this?” and continue with a back-and-forth conversation, then drop the answer straight into my notepad without losing my place. I also added an AI-assisted mnemonic generator for new vocabulary. I sometimes struggled to come up with mnemonics for certain words, so I added it to help. Not all of the mnemonic suggestions hit home, but sometimes they triggered my own ideas that I could use. Smaller features followed: streak celebrations for 25-, 50-, and other milestones, plus a daily cultural blog that rotates through each language. I really enjoy the cultural blog because it’s a quick read, and I love learning about the culture of the countries whose languages I’m studying.
The newest piece is a writing exercise: I get a prompt, write a short story of a hundred to five hundred words, and get feedback on it. The hard part wasn’t the grading — it was making the feedback survivable. Flagging every error is accurate but useless; a wall of corrections just teaches you to stop writing.
So feedback is scoped to the level you set — at beginner it grades agreement, tense, and word order, and stays quiet about everything above that. You get the three things worth fixing now, not the eleven that are technically wrong.
That has a limit, though: feedback in a language you can’t yet read critically is feedback you can’t verify. If it flags a phrase as wrong, I have no way to know the rest of the review is equally right. So I added an export option — I can pull a piece of writing out and send it to a tutor or teacher for a second opinion instead of just trusting the AI’s read of my own language.
The AI features aren’t free. Every explanation, every mnemonic, every writing review costs something, and it would have been easy to build something that ran up a bill without me noticing. Every AI call has a budget and a daily limit, and I can see what each feature costs to run. A study tool that quietly runs up a bill is its own kind of problem.
It happened because I kept using the thing I built and kept coming up with improvements worth making. That’s the part I actually enjoy about this kind of project — not writing the app once and shipping it, but living inside it long enough that it keeps showing me how to make it better.
Memory Lab doesn’t replace any of the apps I was already using; it’s the tool I use alongside them, where my language practice, curiosity, and questions come together.