[iOS] [Android] Nazoru - Kanji Drawing, offline, write the same Kanji you review and study on WaniKani

: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.

Hi everyone,

I’m the developer of Nazoru, an iOS and Android app for practicing kanji handwriting.

The basic idea is simple: instead of giving you a random list of kanji to write, it looks at the kanji you are already seeing in WaniKani and uses that to suggest what to practice next.

I made it because I am very bad at remembering kanji, and handwriting was one of the things I kept avoiding. WaniKani helps me recognize kanji, but I was not writing them at all. If I tried to practice on paper, I would usually get lazy and stop, because I had to decide what to write and judge it myself. If I used an app that only asked me to write from memory, I would also avoid it because it felt like I was being tested from the start.

But the opposite was also a problem. If the full kanji was in front of me the whole time, I would just copy the shape without really looking at the strokes.

So I wanted something that starts easy, but still ends with me writing from memory.

That is why each practice works in stages. First you trace the strokes with direction hints. Then the guides are slowly removed, until you are writing the whole kanji from memory in the final stage. It is basically training wheels for kanji writing: trace first, pay attention, then remove the support once the shape starts to stick.

That is the part I personally needed. It makes me slow down and notice the strokes, especially with kanji that look too similar in my head, like 合 and 会.

PracticeGIF

How it uses WaniKani

You connect your WaniKani account with a read-only token.

From there, the app uses your WaniKani items to decide what to show:

  • Kanji you reviewed recently can show up while they are still fresh.
  • Kanji you got wrong on WaniKani move up in the list.
  • New kanji appear as you unlock them on WaniKani.
  • Practicing in Nazoru does not count as a WaniKani review.

So it is not replacing WaniKani reviews. It is just using the kanji you are already learning as the source for handwriting practice.

What you can practice

The main thing is individual kanji, but you can also practice kana and words.

There is also a screen for similar kanji. It shows pairs of kanji that may be easy to mix up, so you can practice them side by side and focus on what is actually different.

For WaniKani, this only uses pairs where you have already unlocked both kanji, so the app does not throw random lookalikes at you before you know them.

Other ways to use it

I built it first around WaniKani and Bunpro, but it can also work without either.

You can use:

  • WaniKani
  • Bunpro
  • MaruMori
  • Imported lists
  • Built-in paths like JLPT, RTK/Heisig, and Joyo
  • Hiragana and Katakana practice

The way I use it outside WaniKani and Bunpro is mostly with reading. If I run into words while reading visual novels or other Japanese content, I can collect them elsewhere and import them. Then the kanji from those imported words become available for handwriting practice.

Devices

The app is available on:

  • Android
  • iPhone
  • iPad
  • Apple Watch
  • macOS

On iPad it also works with Apple Pencil.

Your data / your API token

  • Nazoru only needs a read-only WaniKani token. It only reads your progress.
  • Practicing in Nazoru never writes back to WaniKani and does not count as a WaniKani review.
  • Your WaniKani data stays on your device.
  • There is no backend for the app.
  • If you have more than one Apple device, your data syncs through iCloud in the same way as Apple’s apps. On Android, you can optionally connect your personal Google Drive account.

Pricing

The app is free to use with 2 kanji practices per day.

If you want unlimited practice, there is an optional subscription: $3.99/month or $39.99/year.

There are no ads, and WaniKani sync is available on the free tier. The limit is only on daily practice.

Download

iOS / iPadOS / watchOS:

App Store

Android:

Play Store

This started as something I built for my own studies, but I am actively working on it and would really like feedback from other WaniKani users.

If you try it, please let me know what feels useful, what feels confusing, what is missing, or which kanji/similar-kanji pairs it handles badly. I’ll be around in the thread.

PracticeGIF Ipad

(Just reserving the first comment for additional content later)

I really like the UI and the fact that it starts by guiding your strokes and then shifts to more “free style” writing.

Could you help me understand how the exposure system works? Are kanji that are seen recently and often weighted more heavily? What do the colored dots on the top right of the tiles indicate?

Couple suggestions below. Apologies if I missed anything in the app or I misunderstood some core function:

  • Add some kind of “onboarding” from Ringotan where you can upload your file one time if anyone wants to switch to this kanji writing ecosystem. I’m 600 kanji deep in Ringotan and simply cannot give all that progress up. Even if it’s just to add another “last practiced” data point to the individual kanji items.

  • Add a setting to adjust the sensitivity of recognizing correct strokes.
  • Add API integration with NativShark
  • If the subscription unlocks unlimited practice sessions, there should be an option to practice a certain number per day to avoid overwhelm when there is a massive “exposure” queue from day one
  • Maybe a free trial or more than two practice items per day would give people a better feel if this app is their cup of tea.

Cool app. Looking forward to testing it out further and seeing where you go with it.

Thank you for taking a look at the app and for the feedback. I’ve been working on and using it for several months now and how things function was shaped based on my own feedback loop of using it every day and modifying it, so I really appreciate the feedback to adjust it to fit even more people’s needs.

Could you help me understand how the exposure system works? Are kanji that are seen recently and often weighted more heavily? What do the colored dots on the top right of the tiles indicate?

The app can work in 2 different modes that affect how the kanji are sorted:

  • Companion Mode (the Exposed)
  • Paths Mode

An important concept in the app is that it doesn’t have distinct Review and Learn queues. The Kanji tab is sorted by Practice priority and it mixes what is bound for review with new ones.

When showing the Kanji you’ve been exposed to, it scores each kanji and sort by the score in this way:

  1. Recent mistakes (120 points): in the next 3 days after you get it wrong on WaniKani it will almost certainly show as one of the first items in the list. It also shows with a red dot on the top right.
  2. Fading Memory Curve (100 points): a kanji you just practiced gets 0 and a kanji that is bound for you to forget gets 100 points. It is indicated as a green-yellow-red bar at the bottom of each kanji.
  3. Seen Recently (80 points): If you saw this kanji today on WaniKani reviews or a word review in WaniKani or Bunpro it gets 80 points. The score fades by half after 2 days.
  4. Seen in a new Word Recently (70 points): If you see this kanji on a brand new word, be it on WaniKani, Bunpro or any imported list (like a list from Anki) it will get 70 points in the first day and half after 4 days.
  5. Seen Often (50 points): The more you see a kanji the most likely it is to be on the top. A kanji you’ve been exposed 20 times gets the 50 points.
  6. Struggling Bonus (30 points): During practice on Nazoru, if you get the stroke wrong many times this kanji will get a poor accuracy bonus.
  7. Mastered: forced to the bottom. (Marked as mastered in the app, not a Burned on WaniKani)

The core idea of Exposed mode is to suggest practicing the kanji you’re struggling with or running into right now in other places. When I get a kanji wrong on WaniKani, it usually means I mixed it up with another one that looks alike. Writing it out helps me lock the difference into memory — this ties well with the “Similar” tab: it uses the same sorting and lets you practice the confused kanji and its look-alike side by side.

When the user wants to follow a path like JLPT or Joyo it fully ignores the exposed signals and sort/scores by 3 things:

  • Fading Memory Curve: kanji needing a review goes to the top
  • New Kanji: at least 5 new kanji are forced to mix at the top per day. There is a setting for this on Study Plan.
  • Path Order
  • Mastered: forced to the bottom.

As for the layout in the kanji cards, there are 4 visual indicators on it:

  • Top right dot/badge:
    • Red: a recent mistake on WaniKani
    • Blue: you’ve seen it at least once recently and have not practiced drawing it yet
    • Green: seen multiple times and have not practiced yet
    • Gold: you’ve seen it more than 10 times and have not practiced yet.
  • The bar/strip on the bottom of the kanji:
    • Green: you’ve practiced it recently
    • Yellow/Orange: it is likely fading in your memory, but not the time to review just yet
    • Red: You should review it soon
  • Faded bars on the left side: it counts how many times you’ve been exposed to it on other apps. From 1 to 10.
  • Background:
    • Dashed outline, grey character and faded background: not seen yet — the kanji exists in the app but has never shown up in your sources or your practice.
    • Soft gold surface, dark-gold character: manually marked as mastered. There is no automatic Mastered as a state. After you practice the same kanji 10 times it will continue fading forever each 1 year unless you mark it as Mastered. (There will be a setting for the user to fully customize this).
    • Normal surface, normal character: active — you’ve seen it or you’re practicing it.

Add some kind of “onboarding” from Ringotan where you can upload your file one time if anyone wants to switch to this kanji writing ecosystem. I’m 600 kanji deep in Ringotan and simply cannot give all that progress up. Even if it’s just to add another “last practiced” data point to the individual kanji items.

Thanks for the suggestion. I will investigate their backup file to see if I can read it and come up with a migration. I need to analyze this case carefully because it is not the same as the other exposed sources like WaniKani.

Add a setting to adjust the sensitivity of recognizing correct strokes.

I will prioritize it on the list of TODO. The app already have support for it, but nothing is exposed to the user just yet.

Add API integration with NativShark

I will add it to the list of possible integrations. I am currently looking for more APIs to integrate, as the goal of the app is to allow you to practice the kanji you are being exposed to in other apps, this fits very well with it.

Any other API integration suggestion is welcomed. In the last release MaruMori was added.

I will do my best to integrate as many as possible.

If the subscription unlocks unlimited practice sessions, there should be an option to practice a certain number per day to avoid overwhelm when there is a massive “exposure” queue from day one

This is an interesting point and to be honest I never thought about it from that perspective. Though at some point there was a setting for this and I removed it.

For me personally the Exposed list was always a way to sort what I was most likely needing to practice, not a review queue. More like: “Here is a list of every kanji you’ve seen before, sorted by the ones you are most likely going to benefit from practicing now.”.

SRS Review queues can become a heavy at times. Every day I already go through both WaniKani and Bunpro review queues. Some days they are easy, other days they take all my allocated time and I really didn’t want to add another one so I’ve designed the app around the idea of adding the least pressure as possible, while still suggesting you to practice what is more contextual to what you are already studying and repeating what you already practiced writing. So if you can only do 2 writing sessions in a single day, that is fine, if you can do 30 or 100 it also works.

It really is a point I want more feedback on, maybe other people do prefer a more SRS style review queue. My decision was based on the idea that practicing writing is not the first priority for most and that the added pressure could influence a user using it as a second or third app to drop more than to continue.

There is even a setting in the app to control how the time ticks: Based on calendar days, opened days or practiced days. The default is “Practiced Days”, which means that if you don’t have the time to practice on a Saturday the app will automatically consider that a “vacation day”.

I am open to creating new ways on how this works to better adapt to other people’s needs. So all the feedback I get is very welcomed.

Maybe a free trial or more than two practice items per day would give people a better feel if this app is their cup of tea.

This is definitely something that can be tweaked.

Cool app. Looking forward to testing it out further and seeing where you go with it.

Thanks a lot! I really appreciate the time you took to give feedback. I have a lot of other feature ideas, all centered in the core functionality of drawing a kanji, some are already in the roadmap. I had force myself to start moving things to vNext, otherwise I would never release haha.