I’ve always believed the best way to learn something deeply is to build something real, something you care about, something that solves your own problem. This is the story of how I did just that: I built a Chrome extension to help me learn new languages.
It saves words I encounter while browsing, groups them by theme, and lets me review them later with flashcards. It’s simple, but it works, and it’s mine. And along the way, I got a little help from a certain AI friend.
Let me take you through it.
(Donwload link at the end)
😵💫 The Problem: Learning a Language While Browsing the Web
When you’re learning a new language, every page on the internet becomes a mini vocabulary lesson. You see a word you don’t know, maybe in an article or a tweet, and you think, “That’s a good one, I should save it.”
But then what? Copy it into a note? A spreadsheet? A language app you forgot to open?
That friction was enough to make me stop tracking new words altogether. I wanted something frictionless. Something that lived where I already was: the browser.
So I built it 💪
📚 The Stack: Keep It Simple, Keep It Native
-
HTML: For the structure of the extension UI.
-
CSS: To make it not look like it was built in 1997.
-
JavaScript: For the core logic, both in the popup and the background scripts.
-
Chrome Storage API: Local-first, no server, no signup, just open your browser and go.
This wasn’t a product. It was a tool for me. So I optimized for speed, simplicity, and learnability.
🚀 The Features (a.k.a. The Stuff I Actually Use)
Save with one click: Highlight a word, right-click, and boom, it’s saved.
-
Group your words: By topic, by difficulty, by whatever makes sense to your brain.
-
Review with flashcards: Built-in quiz mode so you can reinforce those words later, spaced repetition-style.
It’s not Duolingo. It’s not supposed to be. It’s a memory tool for curious minds.
🤖How ChatGPT Helped (But Didn’t Do the Work)
I didn't use ChatGPT to write the code. I used it the way you'd use a great mentor or coworker.
"What’s the basic structure of a Chrome extension project?"
-
"How do I test my extension locally?"
-
"Help me refactor this code."
It answered. Quickly. Clearly. And I learned more because of it.
It wasn’t magic. It was a new kind of documentation, with context.
🤓What I Learned
How to structure and ship a real Chrome extension.
-
How to use browser storage to persist user data, even across sessions.
-
How are browser extensions made.
-
And maybe most importantly: when you build something you care about, the learning never feels like a chore.
✨Final Thought: Make Something for You
If you’ve ever thought, “I wish this existed,” that’s your sign. Build it. Not because it’ll go viral. Not because it’ll get you a thousand GitHub stars. But because you’ll learn more in the process than any course can teach you.
And hey, maybe someone else will find it useful too.
Now, go make something weird. And if it helps you learn, even better.
Here are a few screenshots of the extension. And if you’d like to dive deeper into the project, just let me know in the comments, I’ll be happy to write a full post about it.