Neat work buddy. Another feature to add could be a level-up time estimator that takes into account total lessons per day, including how many are radicals and kanji (since they drive level progression), as well as average accuracy %. This will be very helpful along with the projection feature.
Great work!
What tech stack did you use to build it? You have some impressive UX skills.
The âCan I read thisâ feature is a nice touch!
A bit of feedback:
- Would be nice to be able to sort the items on the SRS distribution page
- Would be nice if the Time per level chart had labels for days to completion (itâs nice to see them all at once, rather than hovering one a time)
- The leeches arenât showing exactly what Iâd expect. Itâd be nice if the calculation factored in the length of time Iâve been struggling with a particular kanji (e.g. Kanji that have been stuck on guru/apprentice for months should be âweightedâ heavier than Kanji that were learned last week - in fact, Iâm not sure it makes sense to include Kanji that were recently learned as theyâll be sure to have a lower accuracy - leeches by definition have been around for a while, no? Also an option to exclude burned items, etc. would be nice!).
- For the kanji tooltips, it might make sense to have the meaning directly under the kanji, or have it as the very first line item - I found myself wanting to know the meaning first and foremost and struggling to find it
- It might be better to have the JLPT Coverage, Joyo Coverage and Frequency Coverage collapsed onto the same page with an option to switch between them, as theyâre effectively just variants - as of now I have to click back to navigate between them
- Idea: for the âgoal dateâ, it would be cool to know how much faster I need to go to reach my goal date on time (e.g. days per level needs to be 14 instead of 20, etc.)
Hey, really like the site!!
Looking at one thing, though, and I think there is some sort of bug with the level-up history.
On Wanilog, here is the first part of my history:
And on wkstats:
I can tell you that unfortunately wkstats is accurate here for level 5
(And looking at some of the other actual low-level lengths, wkstats is longer on a good chunk of them. For example, level 2 on wkstats = 64 days 5 hours; wanilog = 58.2 days)
Thank you Deadpikle! Trying to reproduce this - did you reset your WaniKani levels at some point? My theory is that wkstats is showing the combined days across all resets.
Iâve never reset my WaniKani levels, sorry ![]()
I took a look at the level_progressions API. Are you using this one? Are you using unlocked_at or started_at? Because I think perhaps wkstats is using unlocked_at, and perhaps you are using started_at? At a rough glance with no actual math besides some quick figures in my head, that could be the difference.
My gut says unlocked_at would be the right one to use as that is when you âmove upâ to the next level and have things available, but perhaps Iâm wrong.
You could perhaps have an option for both!
This looks super nice!
I mostly use Android and I canât get the tooltips to show easily. Tap and it takes me to WK, then press back and the tooltip shows. Wkstats, I could get them to show by long pressing and it didnât go to WK. (It did also select text which was annoying but tolerable.)
I think itâs possible to differentiate taps and clicks. Itâd be cool for a single tap to open the tooltip, then a second tap (or a link button/icon) would take you to WK. Itâd also be good to be able to close the tooltip easily without accidentally opening another.
Wow thanks so much for investigating! Yes I think you might be correct - I was indeed using started_at. Just pushed a change which gives you the option to choose which one the chart uses - let me know if that fixes it for you?
Thanks Ertoo. Great idea, Iâve just implemented this now. Hope thatâs working better for you.
Looking much more like my actual level graph now! âŠas embarrassing as level 5 was
Everything is matching wkstats now +/- an hour, probably with rounding or something. But I donât care about that and no one probably will lol.
I think my other suggestion would be another thing like wkstats where there is the zig-zag for bars that are way taller to keep the graph less skewed, but itâs a minor thing:
Thanks for the really quick fix/adjustment. ![]()
Tooltips work really well now on mobile. They even adjust if you scroll. That was an amazingly fast update! Thanks!
Thank you Chris! Stack: Next.js, Tailwind, Radix UI, Recharts, TanStack Query, Dexie for offline IndexedDB.
Pleased to say Iâve shipped most of your feedback!
- Time per level labels: new âShow day countsâ toggle
- Leeches: added a new algorithm which you can try, and an option to exclude recently unlocked items
- Meaning moved to the top of the tooltip.
- Coverage pages: header switcher between JLPT/Joyo/Frequency so you donât have to go back to the dashboard.
- Goal date: when behind, Home and Projection now show âneeds ~Xd/level, youâre at Ydâ.
Sort on the SRS distribution page is still on the list, but could you clarify what kind of sorting youâd like to see? Cheers!
No worries - just added a âclip outliersâ toggle ![]()
Amazing! Thanks for the quick update.
The leeches now show exactly what I was hoping for. Would it be possible to see more than 20? Maybe paginate them?
For the SRS distribution page, it would be nice to sort by SRS stage!
No worries - both of those are done now ![]()
Thanks!
Sorry, I meant grouping by SRS stage within the existing Level grouping. The Group By feature is cool though!
Ah that makes sense! Should be good now.
Hi there, this looks great! Got a question: Iâm using Wanikaniâs leveling order to learn kanji and vocab, but I donât actually use Wanikaniâs review system itself. So Wanikani âthinksâ Iâm at level 3, while Iâm acutally at level 10, as I donât use their review system, but my own. Would it be possible to put in the information by hand into Wanilog? I wouldnât know which are burned and all that, but I have kept a record of how long each of my level-ups have taken, and which kanji I know already. So I thought maybe I could put the info in by hand to still be able to use the âcan I read thisâ function, etc. If its too much work, nw! Just wondering
Thank you Mikhayu! Iâve added a section setting on the settings page - âKanji outside WaniKaniâ where you can paste other kanji you already know. This list will feed into the Coverage pages, Reading card, Reading coverage article scoring, and Can I Read This module
Hope that helps
Thatâs perfect, thanks! Now I can finally keep track of what I know haha
wkstats and Wanilog only track kanji, right?




