I’ve tried pretty much every popular language learning app.
Some don’t let you add your own phrases. Others force you to manually create flashcards with examples. At some point, learning the language turns into managing cards.
So I stopped using Anki and built my own app.
After ~5 months:

No marketing budget. Built mostly solo.
This is not a success story. It’s about going from idea → real users → first money — and all the mistakes in between.
I learn languages in a very simple way:
That’s it.
So I needed one thing:
an app where I can dump any word or phrase and just come back daily for a 15–20 minute session.
What I found on the market:
1. Dictionary-based apps
They have predefined word lists. Works for basics, but breaks when you want to learn real phrases you actually use.
2. Flashcard apps (like Anki)
Flexible, but painful.
You need to:
It feels like a second job.
Also, you manually decide how well you remember a word, which affects the algorithm. So instead of learning, you’re thinking about which button to press.
I wanted the opposite:
In 2024 I moved to Serbia and started learning Serbian.
That’s when things got worse.
For English, you can still find decent tools.
For smaller languages — almost nothing.
At some point it became obvious:
building my own tool is easier than finding a perfect one
My requirements were simple:
This basically meant:
My main goal wasn’t to build a perfect product.
It was:
don’t abandon it like all previous side projects
So I set a strict rule:
I started with the simplest thing possible:
A web page with one input:
No accounts. No saving. No UI.
Just testing the core idea.
At some point I noticed:
I actually want to use this myself
That was the signal to continue.
I kept the stack simple:
For design:
For code:
This helped a lot early on. It also made it easy to throw away bad solutions without regret.
The first version of the app was built in a few days.
It was messy. But it worked.
This one surprised me.
Serbian uses both:
AWS TTS only accepted Latin.
AI randomly generated both.
I tried fixing it with prompts. Didn’t work reliably.
Final solution:
Sometimes the simplest solution is the most reliable.
I launched the first version on iOS.
At that time I had a Telegram channel (~1,500 subscribers), so I just posted about it.
Then reality hit.
Things that worked fine for me broke instantly for users.
I spent the next couple of weeks fixing and stabilizing.
This was the most valuable phase.
Until real users touch your product, you live in an illusion.
Once the app became somewhat stable, I tried distribution.
I wrote a post on a Russian tech platform (Habr):
Then another post after improving training:
At that point I realized:
distribution is not only about money
If you hit a real problem and explain it well, users come.
When I introduced subscriptions, something weird happened.
At first I thought it was normal platform behavior.
Then negative reviews appeared:
“paid but features don’t work”
Turned out:
Payments weren’t completing properly.
Result:
Fixing this took a few days.
Also a reminder:
AI won’t save you from real debugging
After ~5 months:
Not impressive. But real.
More importantly:
Right now I’m focused on:
I’m also exploring:
If you're curious, the app is called VibeLing.
I built it mainly to learn English and Serbian myself — and I still use it every day.