[Web App] WaniKani History

Oops, you’re right! I should know that by know :sweat_smile:

I use the level_progressions data point. But inside there, no length or something is specified. Only dates are given. And for the start time there is created_at, unlocked_at, and started_at. My conjecture is that WK stats maybe uses unlocked_at and I use started_at. When I level up the next time I will try to verify that.

You used started_at? It’s unlocked_at that tells you when the user levels up.


P.S. It seems like the burned problem is starting to change - how do you handle resurrected items? (It’s very probable I have over 100 right now, so that might be the underlying issue & the reset might be correct.)

Yeah, I know. I use the passed_at to determine when the user levels up. I use started_at as the starting date because it better represents the actual time spent on the level rather than unlocked_at. Because only when you begin with your first lessons do you start with the level and not when you first unlocked it, right?

Haven’t implemented anything for that yet. Since I don’t have any burns up to know I tend to forget to implement the handling for related situations. Gonna work on that!

1 Like

That might be cool to have as an option, but some people spend time on “half-levels” (e.g. being on Level 20 but spending time on level 19 vocab items just unlocked without even touching level 20 lessons) which in your system are not counted as part of either level 19 or 20. I’d actually love to see this as a segmented bar chart where we can see how much time on a level was spent in the “half-level” stage, but that’s just an extra.

That’s actually an extreme example with my API token - level 19.5 was about a month for me so level 19 was 29.8 days and level 20 was 57.3 days, but your program shows 20.8 and 16.1 respectively.

It’s all good, took me this long to figure out the issue was the program not accounting for my resurrected burns & not improper reset handling :wink:

1 Like

Exactly - as far as I understand you’re not counting the time in between unlocking a level and actually starting the first radicals of it, but I usually spend quite a few days after unlocking a level doing all the vocab of the previous one!


Then I’m going to add an option to toggle the graph between including this time in between levels or not. Thanks for giving me feedback on this!


I wonder if it would be better to include that time in the previous level (the “correct” one, because the vocab done in that time belongs to the previous level), or the new level?
As far as I can tell WKStats does the second option, but the first option maybe seems more logical to me?


Yeah, I like that too when the option not to include in the current level is enabled.

In either case, the segmented bar to distinguish the half-level would be cool :wink:

1 Like

Thanks for new version! I really appreciate the work on it, accuracy info now looks good and other stuff is also nice (esp like how the new pie chart for word progress looks, especially being 3/4 done).

I have to agree with suggestions about level ups, it doesnt have to be the same as WKstats, but those times between level up and first radical lesson should be counted somewhere, be it in previous level, new level (WKstats way) or some inbetween stuff. But still, i like seeing unique takes on graphs that i wouldnt think of (this showed me that most of the fluctations in level up speed for my quite constitent schedule was probably just that sometimes i leveled up afternoon vs morning (and i always do the lessons in morning) as this one is much more flat)

Also i think there is error with projections calculatons, i dont think i can get from 46 to 60 in 58 days with 9 days per level speed :smiley:

1 Like

No, but you could get there in maximum speed (all fast levels) :stuck_out_tongue:

Wonder if that has anything to do with it

1 Like

Nice work on this website @saraqael! But it looks like something is not quite right here…

Screen Shot 2022-05-13 at 8.35.41 AM

I have been on WK a long time, but not 102 years :smile: I started in Oct 2017 and I have reset a few times over the years. Feel free to check it out with my API: 09035b60-19ba-413f-b810-0eeab6cb3a73

Oh, and I am Level 21 so something is wrong with this graph too:


Sorry for taking so long… I discovered some bugs along the way and fixed others I wanted to for a long time (@UInt2048 finally your SRS chart is as close to right as possible; I think the remaining discrepancy may be due to time zones).

Also I added Yojijukugo which are 4 character “stories” or proverbs. You have a tab where you can look at those you can already read.

Here is your improved level chart. You can hide the reset levels now and the “Pure Vocab Time” (as I called it for lack of a better term) is now also displayed, as suggested by you : )

I think knowing this number could cause me untold grief.

1 Like

Haha! I could tamper with it a little and subtract a few months if that’s what you want :wink:

:point_up: fixed it for you.

1 Like

Level 60 predictions seem to be broken (stuck on 0) right now?

Also, thank you for adding the pure vocab time to the graph!

1 Like

WaniKani History: In the beginning was the Crab and the Alligator.


And the Crab was with the Alligator,
And the Crab was the Alligator. …

By the way, thank you @saraqael for version 3.2.

I’ve had a question for a while but it’s very minor – why is this bar darkened? I’ve managed to select the day it’s present on.

P.S. When combine time per column is enabled, can the “pure vocab time” go back to the level the user was actually on?

P.P.S. That was @yatyisam’s token you showed a picture of – you’ll probably need to use mine, which has a level chart that looks like:


I noticed that as well, turned out for that day multiple day objects were created which overlapped. (I fixed it)

Did that, thanks!

I just wanted to show him that his chart is now working as well because there was a bug that messed it up. But yours is now functioning as well :smile:

Did that too, thank you for the suggestion! (Projections page now uses this time format except the “time since start” because I didn’t like it there as much.)

Fixed it, thank you! I tried to fix some bugs and broke it along the way :melting_face: But it should be working again now.


good shoutout, @saraqael are you really halving the average speed so far for fast levels? Guess it makes sense for speedrunners to see projected time, but i guess it could be misleading for people not planning to speedrun levels. Im missing 13 levels (+ about 2-3 days on my current level) to 60, so with 9 days per level, that would be about (13*9+2)/30 = 4 months, but even after this fix, its showing me 2 months :thinking:
(and again, thanks for doing this, i hope you are not using this to procrastinate on your reviews!)