[Web App] WaniKani History + Timemachine

No compensation needed :stuck_out_tongue: I did say it wasn’t a problem to begin with. The level chart looks good:) :+1: (The median is still a decimal number, 15.002, whereas wkstats says 15 days, 0 hours, 3 minutes which feels nicer). I’m wondering what “pure vocab time” is tho. Is it the time we use to do all the remaining vocab lessons of a level after leveling up? But then is that counted toward time spent on the next level or not? Or am I just wildly off with my guessing? :upside_down_face:


Exactly - defined earlier as “times between level up and first radical lesson”


I have a statistics request:

I noticed that wkstats shows my accuracy stats for all my reviews including before my reset

so it would be helpful if you could generate the same accuracy stats as wkstats for any period of time (e.g. all reviews, all reviews after a reset, reviews from a certain month, etc). I’m kind of motivated to keep my accuracy up by these statistics, but at this point on wkstats any deviation in performance doesn’t have much of an appreciable impact. However, that would change if I could compete against myself on a monthly basis:)


Since we’re supposed to be able to read these it would be nice if the furigana was hidden, with the option to check it:)


That’s a very interesting idea! All reviews is already covered. Actually reviews from the most recent month you can find out with the “start with 0” checkbox enabled and 1 month time frame. But as you said, it would probably be very interesting to see how one compares with accuracy and stuff from month to month!

True, otherwise it is kind of pointless haha


Yes, but that shows accuracy over time within that month. Maybe I’m alone in this, but I really like tables more than graphs in this case🙃

I like seeing my total accuracy for a given period (given as a percentage) be affected by my review sessions:)

Edit: btw I tried to set the timeframe to 5 months, start with 0, and an average over 150 days to approximate the number I’m after but this is what I got:

Shouldn’t it have produced a straight horizontal line giving me my average accuracy for the entire period?

1 Like

The start with 0 isn’t implemented for the accuracy info yet. And the 150 days average is a running average, meaning on each day it is the average of itself and the 149 previous days. And because the accuracy changes, so does the averaged graph.

Edit: so the number you were looking for is at the last value of the graph on the right, which looks like about 93%.

Also this accuracy is not the same as the WK stats accuracy. WK stats shows the accuracy that you would see while doing the reviews:

Mine is the one you would see when you finish the reviews:


That makes a lot of sense, for my part the while-reviewing-stats (broken up into separate reading and meaning accuracy) are more interesting than the percentage we see when we’ve finished our reviews.

1 Like

Really good website! :smiley:
I tried to use it a lot but I think my reviews were taking so long to load that it timed out or something - but I tried again just now and now it’s working and looks great! :clap:


Thank you for trying out the website. I’m glad you like it!

I actually have not implemented a time out. Sometimes it has to wait for the next batch because the API is throttled and it freezes for 10-20 secs. Maybe it was that? Otherwise there might be some other problem.

Anyway, I hope you keep enjoying the WK History website :smile:


Finally… the time has come… I managed to implement a simple table, yay!

Here is my personal (at the moment rather short) info table for the interval of a month:

As you can see the time frame can be set in number of days and months. Then a table with reviews, accuracy, and lessons - divided into radical, kanji, and vocab - is displayed. You can look at the development of those criteria in the intervals you specified (and can go back as far as you want with the arrows at the top). The current day is never counted.

I hope you like it!

Also, this is currently not the WK stats accuracy, but the one at the end of reviews. I’ll implement the other one in the future if you like it more.

Done that! It looks way better. I tried to imitate the wanikani-community-style of blurring the furigana until you hover over it. I hope it isn’t patented :man_shrugging:

Added it, great suggestion!

I also added a “Started” and “Finished” info to each level which I thought would be interesting to know in absolute time:

And now finally, @UInt2048 I would really like to work together with you to implement your projections userscript for wk stats in, for example, the level chart. I.e. I would like to let people see visually how long they are going to take to finish; like a level chart that automatically has a projection up to level 60 and maybe a slider where you can set “fastest”, “median”, “average”, or “off”. If that is what you had in mind?

I don’t know if Sully22 wanted to create something similar? It would probably be pointless to create the same thing twice. But from what I have read he wanted to implement it as a table. Then we would have two different ways to view the data which is good in my opinion.

I also really like how Nihongo Stats looks and works. It is a really great idea to have data from multiple Japanese learning services combined into one overview. Now I’m kind of depressed haha :melting_face:


Yeah, I think so, too. I can’t picture what you suggested, but I’m imagining a line chart of some sort where one axis is level and the other is time, and we could visually see the difference between projections…

It’s a good idea, but I don’t use any of the other stuff, so only the WK portion is relevant for me anyways.

There’s always going to be alternatives… I made a projections userscript only to later discover that someone else had already built a projections site!

As I mentioned in Sully22’s thread, the userscript’s 1.3.5 created a nice array of objects containing all the real projections (not past levels that you have already taken care of) where the indices are the level being projected for.

How do you get your API data to your site? As previously stated, my userscript assumes the Open Framework handles this, which your website does not appear to use, although it does try to imitate its loading screen with the slider dialog…

1 Like

Wooo~ I love it :upside_down_face:

I do still like the wkstats accuracy info more, since it tells me what I’m struggling with in terms of reading or meaning. You can see that for me readings are harder than meanings:
Screenshot 2022-05-23 7.53.28 AM
Acually, whether the total accuracy score is the wkstats one or the end of session one isn’t that important to me. I’d like to see both, but I think if I had to choose I’d stick with the end of session stats as those are most relevant for item progression.

Reading these and then confirming that I was right feels really good :+1:

1 Like

Either that, or what I was trying to say, just adding the “projected levels” to the current level chart. But that would probably not be that interesting because there is no real time reference in the chart itself so one would have to hover over the levels to see when they are going to be finished.

Oh, I didn’t even know about the WK open framework. This is the one you are referring to, right?

I just programmed an API-data-and-cache-handler myself with IndexedDB but if I would have known that someone already did all this and made it publicly available I would have gladly used it.
Maybe I should change to that? Because it seems quite nice and your code would probably be implemented more easily.

1 Like

Yes, that’s what I meant. It would make it extremely easy for me, since I could continue to use the Open Framework already there on your site – this is actually what I do on my projections userscript on WKStats. I could even make a PR to add it to the site myself if you did that.

However, you’re of course under no obligation to do that.

1 Like

Thanks for the table, really helps breaking the stats down :smiling_face:

Small issue, it doesn’t show the last column. But I’m not sure I understand how the table works.
With a 1 day time span, today is May 24, but it doesn’t show a May 24 column:

Same thing if you put a month span, May doesn’t show up:


It might be showing the start date of the time span, e.g. April 24 to May 24.

1 Like

I took out the data for the current day because you could still do reviews on that day which might make the stats look wrong or is confusing.

As UInt2048 said, this is the start date, so the one month interval started on April 24 and ended on May 24. Should I add an “End Date” or would that make it too convoluted?

Thanks for your feedback, I always like to see it! :smiling_face:

1 Like

I think you should add an end date - clearly would make things less confusing


Apparently when averaging over 50 days the graph seems to be treating my hiatus (in which I did zero reviews) as relevant data points, which creates the above slope artifact. Could you add an option to only include data after a certain date (e.g. one’s reset date)?

1 Like

Can’t you just set the months to the desired number near the top from 12 to something else?

@saraqael It would make things better to make that a date picker to start from instead of number of months when you’re not refactoring the site :stuck_out_tongue_winking_eye:

1 Like