I made a kanji driller that you'll probably either love or hate

Hello! Been lurking since I started a few weeks ago, but first time posting. よろしくおねがいします。

I’d like to preface this by saying that I’m totally onboard with the WaniKani method; waiting on reviews can certainly be brutal in the early stages, but I know it’s just a matter of trusting the process.

With that said, I’ve always been a “driller” when it comes to trying to retain large amounts of new information; that is, I believe in the efficacy of getting in lots of reps (ideally in a timely manner) in order to build up recognition speed and/or muscle memory.

When it comes to practicing kanji production, the options I’m aware of are these:

  • KameSame: love that I get to use my phone’s IME (Gboard), don’t love the dearth of reviews
  • Kanji Study: This is easily the most comprehensive kanji learning app (at least on Android), but there’s a bit of a paywall and the mechanics just feel a little “off” for me.
  • Ringotan: So close! Position and resize the canvas? Check. Lenient stroke detection? Go nuts! Shuffle the kanji so you can practice a level without subconsciously building sequential dependence (or just to shake things up a bit)? Alas, not at time of posting.

I think if Ringotan supported randomized sessions, the buck would’ve stopped there, although I’d probably find myself missing Gboard’s alarmingly good character recognition.

In service of having my cake and eating it too, I ended up putting together a little thing that cuts away all the excess and just asks you to draw one kanji after another, in a random order and with your IME of choice. The meanings are Ringotan’s and often differ somewhat from WK’s, but the sample vocabulary (also Ringotan’s; ありがとうございます, @BlueRaja) should see you through.

The aesthetic is certainly “function over form”, but hopefully you won’t find it to be too much of an eyesore. There are a few configuration options, but I’ve almost exclusively been using it in “double lightning” mode, wherein I usually don’t even have to finish drawing a kanji before it’s immediately on to the next one.

While I’m very much enjoying being able to drill at a rate of 15 KPM, I appreciate that this has the potential to develop some bad habits; Gboard lets me get away with some pretty atrocious scribbles at times, but I’m fairly certain that’s down to at least getting the stroke order correct. I’m still doing my regular SRS reviews where I have to input the entire kanji correctly, so hopefully the drawbacks of getting in so many low-fidelity repetitions will be slim to nonexistent, but only time will tell.

In any event, I figured I’d share the project in case it’s up anyone else’s street. Please feel free to inform me of any bugs you might encounter, or indeed to disparage me for even releasing such an insidious monstrosity.

6 Likes

What I regret in ringotan is that some kanji are missing (like 薔薇鏃) or are not in 新字体 (like 渊蝿竃麺… surprisingly even 兎 is missing with only 免 used).

I would love an application that allowed for user suggestions and added extra ones.

1 Like

I looked into it and it turns out most of the kanji you mentioned do in fact exist in Ringotan’s database:

sqlite3 KanjiData.sdb "select character, definition from kanji where instr('薔薇鏃渊蝿竃麺兎', character)"
麺|noodles; wheat flour
薔|water pepper
薇|an edible fern
兎|rabbit; hare
蝿|fly
竃|kitchen stove; furnace

You’re right, though, that they don’t appear in any of the provided lesson plans. I wonder whether it would make sense for @BlueRaja to add some sort of catch-all category to hold the stray kanji that don’t belong anywhere else.

I’ll have a think on how best to allow the user to add a list of custom kanji to my driller; not sure yet how it should interact with level selection without complicating things.

2 Likes

I plan on adding both of these features @Morikohiki !

Option to choose order of word-prompts randomly

Make a comprehensive kanji lesson

I’m currently busy at work on the iOS update, but once that’s finished, these will be towards the top of the backlog of new features to add.

@YanagiPablo If you find any common kanji that are missing, please add them to Find some more common hyougai kanji and I will try to add them later (hopefully by updating the algorithm to include all the missing ones and more).

However, of the ones you mentioned, most already exist in the JLPT lesson. Specifically, 薔薇蝿麺兎 do exist, while 鏃渊 do not. 竃 is in Ringotan, but only in the RTK lesson, which I plan to fix with the “comprehensive lesson” mentioned above.

1 Like

Thanks.

Maybe just a checkbox “add all kanji” in the “custom review” would be enough to find them in search and be able to include in study.

I have been able to add most of the ones I wanted. 梟 is there, but misses the “owl” meaning.

Those I didn’t found, but are in akebi : 魄腟廁

Same for this one, but the kyuujitai is on ringotan: 渊(淵)

Those are in akebi but without stroke order data: 酛髎𥇥(瞼)𫞋(樅)

Adding some randomization (reshuffling, changing a bit the delays) would be a big plus. I actually fail some reviews on purpose to dissociate some.

Thanks

Today I found that ringotan seems to have 怜 but not 悧 (despite the fact that the example word is 怜悧)

Thanks