[Android] Krabikani - a minimalist, offline, open-source WaniKani client

:warning: This is a third-party app and is not created by the WaniKani team. By using this, you understand that it can stop working at any time or be discontinued indefinitely.

Hey everyone,

I’ve been working on a WaniKani Android app for a while now and figured it’s time to share it here. It’s called Krabikani, open source, built with React Native.

I mostly built it because I wanted something simple. The mobile site works fine but I do most of my reviews on the go without reliable internet, so offline was a hard requirement. I’m also not a native english speaker, and kept making typos on the tiny keyboard and losing reviews that I actually knew, so there’s fuzzy matching that catches things like “jewel” vs “jewell” instead of marking them wrong.

A few things it does:

  • The review experience being smooth was very important to me. If the keyboard flickers down and up, stuff like that takes me out of the zone. This keeps you in the flow by keeping it as smooth as possible.
  • Works fully offline. Everything’s stored locally in SQLite and syncs when you’re back online.
  • Has a distraction-free review mode. I call it Zen mode, just the question and the input field, nothing else.
  • Comes with a Wear OS companion that shows your pending reviews and next review times on your wrist. You can download it in the github releases section of the repo.
  • Full-text search across kanji, radicals, and vocabulary. Comes handy when you know you learned something in Wanikani but can’t really recall exactly how it was spelled.
  • You can “wrap up” a session, and it will just show you the items you’ve started but not yet completed. Handy if you have too many piled up and want to take it ゆっくり.
  • It has a “reverse practice” mode, that prompts you for the kanji, given a meaning (like Kaniwani).

It’s still a side project, so expect rough edges. You’ll need a WaniKani API token to use it, but the setup wizard in the app will walk you through it.

You can grab the APK:

No Play Store listing yet.

Happy to hear feedback or bug reports.

hi, neat app! i don’t think it will replace durtles for me, but here’s some first impressions

first, a bug with kana-only vocabulary: normally these don’t test readings at all, but the app tries anyway and fails correct responses because the expected value is null

now the rest of these are just points of preference which may or may not align with your vision for the app:

  • dark theme still having a bunch of large white banners everywhere is pretty annoying… and speaking of which, it might be nice for some people to have a theme toggle in the app instead of forcing the system theme?
  • one of the most important advantages for me of doing reviews on mobile is the option to use a kana keyboard for readings. keyboard hinting gets my keyboard to swap languages seamlessly, without the kind of flicker you mention, 98% of the time
  • there’s no way to play the voice audio for readings?? i like having it autoplay during reviews but at minimum i think having a button for it during lessons is essential
  • a choice to set the review batch size might be nice too

overall tho good work so far, i’d say. the ui is simple and clean and everything seems to work pretty snappy with little friction. i can see this having appeal to a certain niche of the android userbase, once it is a little more fleshed out

Thanks for sharing your project! I’ve sent you an email with some change requests.

@astramari thanks a lot for giving it a try and for the thoughtful feedback!

I’ve already fixed the smaller issues: the kana-only vocabulary review bug, improved dark-mode, added an in-app light/dark/system appearance selector, and added configurable review batch sizes.

I also investigated Japanese keyboard hinting, but the experience wasn’t as smooth for how I use it myself, so I put a pin on it for later. I’ll revisit it again shortly :folded_hands:

Audio support is something I don’t use, so honestly didn’t consider adding it, but I definitely will!