As someone who loves both coding and learning Japanese, I’ve always wished there was an open-source, truly free tool for learning Japanese, kind of like what Monkeytype is in the typing community (fun fact: we actually have 2 Monkeytype devs on board with us now!)
Unfortunately, most language learning apps these days are either paid or closed-source, and the few free ones that are still out there haven’t really been kept up to date. I felt like that left a gap for people who just want a straightforward, open-source, high-quality learning tool that isn’t trying to milk them and/or sell them something.
That being said, I didn’t want to just make another “me too” language app just for the sake of creating one. There needed to be something special about it. That’s when I thought: why not truly hit it home and do something no other language learning app has done by adding tons of color themes, fonts and an extremely fun and customizable experience, as a little tribute to the vibe that inspired me in the first place, Monkeytype.
So, that’s what I’m doing now. We’ve already hit half a thousand stars on GitHub and reached thousands of Japanese learners worldwide, and we’re looking to grow our forever free, open-source platform even more.
Why? Because Japanese learners and weebs deserve a free and genuinely fun learning experience too.
Live demo: https://kanadojo.com/
If you wanna make our day by dropping us a star or even contributing, then you can do so here --> https://github.com/lingdojo/kana-dojo ^^
どもありがとうございます!


Seems cool, but you’re missing some info in your privacy and terms, don’t you?
How do you save the progress data if you don’t collect it in e.g. a cookie?
The vocabulary doesn’t have keyboard shortcuts for progressing to the next thing, I like the shortcuts on the kana, would like them there too.
But it’s a very good website, it will help me for sure!
We’re using local storage that lives in your browser instance and doesn’t sync between devices, so no cookies involved! ^^
I’m pretty sure that meets the legal definition of cookie, but that’s not even my point. I’m not opposed to it either, clearly it’s required for the site to work. And local storage is way better than online, so thanks for finding and using that solution.
But even if you’re not sending it to a server, you are collecting that data and that’s not mentioned. I would like it if you put a line somewhere “we’re keeping track of your progress and performance and blah blah etc etc, you can back it up or delete it here”.
And this whole thing might sound like more critique than praise, that’s unfair, I’m 98% very happy with the project, it’s a great idea and fantastic implementation!
Collecting data implies it goes back to the server.
Local storage is the same as cookies afaik.
Don’t worry, not in this case! Generally speaking, cookies first collect data on the client and then send it over to the server. But in our case, there is no server (backend) - it’s just a client-side Next.js application sent over to the client (your browser), and the local storage that stores progress and preferences data in the app just lives locally and never actually leaves the browser! We (well, me) have no idea what progress data our users have, because nothing is sent over from the app (you can see for yourself by checking your browser’s Network tab!)