When I first started building KanaDojo, I wasn’t planning to build a serious learning platform or anything like that. I just wanted a simple, beautiful, free way to practice and learn the Japanese kana (which is essentially the Japanese alphabet, though it's more accurately described as a syllabary) - something that felt as clean and addictive as Monkeytype, but for language learners.
At the time, I was a student and a solo dev (and I still am). I didn’t have a marketing budget, a team or even a clear roadmap. But I did have one goal:
Build the kind of learning tool I wish existed when I started learning Japanese.
Fast forward a year later, and KanaDojo has miraculously grown to nearly 10,000 monthly active users, 640+ GitHub stars, and 30+ contributors from around the world. Here’s how it happened and what I learned after almost a year.
1. Build Something You Yourself Would Use First
Initially, I built KanaDojo only for myself. I was frustrated with how complicated or paywalled most Japanese learning apps felt. I wanted something fast, minimalist and distraction-free.
That mindset made the first version simple but focused. I didn’t chase every feature, but just focused on one thing done extremely well:
Helping myself internalize the Japanese kana through repetition, feedback and flow, with the added aesthetics and customizability inspired by Monkeytype.
That focus attracted other learners who wanted exactly the same thing.
2. Open Source Early, Even When It Feels “Not Ready”
The first commits were honestly messy. Actually, I even exposed my project's Google Analytics API keys at one point lol. Still, putting KanaDojo on GitHub very early on changed everything.
Even when the project had 0 stars on GitHub and no real contributors, open-sourcing KanaDojo still gave my productivity a much-needed boost, because I now felt "seen" and thus had to polish and update my project regularly in the case that someone would eventually see it (and decide to roast me and my code).
That being said, the real breakthrough came after I started posting about KanaDojo on Reddit, Discord and other online forums. People started opening issues, suggesting improvements and even sending pull requests. Suddenly, it wasn’t my project anymore - it became our project.
The community helped me shape the roadmap, catch bugs and add features I wouldn’t have thought of alone, and took KanaDojo in an amazing direction I never would've thought of myself.
If you wait until your project feels “perfect,” you’ll miss out on the best feedback and collaboration you could ever get.
3. Focus on Design and Experience, Not Just Code
A lot of open-source tools look like developer experiments - especially the project KanaDojo was initially based off of, kana.pro (yes, you can google "kana pro" - it's a real website, and it's very ugly!). I wanted KanaDojo to feel like a polished product - something a beginner could open and instantly understand, and also appreciate the beauty of the app's minimalist, aesthetic design.
That meant obsessing over:
Smooth animations and feedback loops
Clean typography and layout
Accessibility and mobile-first design
I treated UX like part of the core functionality, not an afterthought - and users noticed.
4. Build in Public (and Be Genuine About It)
I regularly shared progress on Reddit, Discord, and a few Japanese-learning communities - not as ads, but as updates from a passionate learner.
Even though I got downvoted and hated on dozens of times, people still responded to my authenticity. I wasn’t selling anything. I was just sharing something I built out of love for the language and for coding.
Eventually, that transparency built trust and word-of-mouth growth I could never have bought.
5. Community > Marketing
KanaDojo’s community has been everything.
They’ve built features, written guides, designed UI ideas and helped test new builds.
A few things that helped nurture that:
Creating a welcoming Discord (for learners and devs)
Merging community PRs very fast
Giving proper credit and showcasing contributors
When people feel ownership and like they are not just the users, but the active developers of the app too, they don’t just use your app - they grow and develop it with you.
6. Keep It Free, Keep It Real
The project remains completely open-source and free. No paywalls, no tracking, no “pro” tiers or ads.
That’s partly ideological - but also practical. People trust projects that stay true to their purpose.
If you build something good, open, and genuine - people will come, eventually. Maybe slowly (and definitely more slowly than I expected, in my case), but they will.
Final Thoughts
Building KanaDojo has taught me more about software, design, and community than any college course ever could, even as I'm still going through college.
For me, it’s been one hell of a grind; a very rewarding and, at times, confusing grind, but still. And I think this is just the beginning.
If you’re thinking of starting your own open-source project, here’s my advice:
Build what you need first, not what others need.
Ship early.
Care about design and people.
Stay consistent - it's hard to describe how many countless nights I had coding in bed at night with zero feedback, zero users and zero output, and yet I kept going because I just believed that what I'm building isn't useless and people may like and come to use it eventually.
And most importantly: enjoy the process.
You can check out KanaDojo live here:
👉 https://kanadojo.com
GitHub: https://github.com/lingdojo/kana-dojo
Top comments (0)