[Web App] WaniKani History + Timemachine

Wani Kani History Web App

:warning: This is a third-party script/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.

:exclamation: Due to recent API changes that limit the data retrieval to the API, this website’s functions were severely reduced. Although this change was said to be temporary a restoration date has not been given.

Main Link

You have to get an API v2 key. You can find it on your dashboard under your profile and “API Tokens”. This app doesn’t need any write access. Here is the link:

MiscStatsSmall

Timemachine Link

Because the old WK Timemachine seems to be unmaintained, I have made a similar one. You can access it here:

timemachine2

What?

This is a WaniKani statistics website similar to WK stats. Its goal is to provide the user with more information about their WaniKani achievements. It focuses primarily on showing the user their personal Japanese learning history with WaniKani but also displays some different statistics from all categories.

Why?

I couldn’t find a website that shows you more stats than the wkstats website or WK timemachine. These statistics include some which show one their history of WaniKani in different data points (like accuracy or SRS stages). I’m very new to the WaniKani API but I tried my best to create some extra statistics and make this a useful website for you.

New Stats

  • projections (fastest, probable, and hypothetical dates you will pass certain levels; made by @UInt2048)
  • reviews per day (chart)
  • total reviews over time (chart)
  • Hall of Fame (for radicals, kanji, vocab, or all together; based on how many correct/incorrect guesses there were)
  • Hall of Shame (for radicals, kanji, vocab, or all together; based on how many correct/incorrect guesses there were)
  • item types (SRS stages) to time charts (stacked and non-stacked) with time frame setting
  • item accuracy to time chart (divided into radicals, kanji, and vocabulary)
  • word progress (how many radicals, kanji, or vocab out of the total amount has one learned)
  • word overview (x-y-chart based on reading and meaning accuracy of all learned words)
  • info table (how accuracy, reviews, and lessons changed over a chosen interval of time; split into radical, kanji, and vocab)
  • kanji wall (text block with all kanji learned: you can see how far you’ve come)
  • Yojijukugo (four character idioms / “proverbs” with four kanji; you can look at those you can already read; includes meanings)

Images

User Info and Level Info

Projections

SRS Info, Word Progress, and Kanji Wall

Review Info

Accuracy Info

P.S. there is also a dark mode :ghost:

These are split into “Meaning and Reading”, “Meaning”, “Reading”, and “Correct Answers”. “Meaning and Reading” is the percentage you see while doing reviews (in the top right corner), this is also what you see on WK stats. “Correct Answers” is the percentage of items that rise in SRS stage, so you didn’t fail either reading or meaning (this is the percentage at the end of reviews).


Yojijukugo and Improved Kanji Wall


Info Table

Word Info (Word Bubble, Radical Bubble)


Wall of Fame & Wall of Shame


Feedback & Stat Suggestions

This is by no means a finished project and I would really love if you gave me some ideas on what stats I could add to this web app. I’ll try my best to add them! Also if you encounter bugs of any sort definitely feel free to voice them to me. Or if you want to say something else just reply in this thread and I’ll read it! :smile:

Do feel free to report bugs in the “issues” page of the Github repo for this project.

GitHub

This website is hosted on my GitHub Repository

To-Do List

  • srs level ↔ item type (chart toggle)
  • project time spent to before 2018 when reviews weren’t logged
  • smaller bugs (older resurrected levels; srs stage item counts; projections chart reset annotation)
  • time reviewing per day chart
  • coverage page (percentage kanji of JLPT levels, Joyo, …)
  • timemachine scaffolding
  • day charts total item amount
  • dark mode
  • start time machine project
61 Likes

Nice work!

By the way, I have a more complete projections page user script at: [Userscript] WKStats Projections Page

Maybe there’s some way we could work together to have this included on your site?

P.S. For word info, I think wall of fame & wall of shame would be better naming of the subcategories :stuck_out_tongue_winking_eye:

7 Likes

Thank you!

I actually already have your Userscript installed and it’s really useful. I use it all the time and think to myself “man, I still have a long ways to go!” But it is really cleverly imbedded into the wkstats website great work on that!

I think the later levels don’t all take 7 days but only half of the time because they don’t have two stages. Did you already account for that in the projection because it seems that my time might be a little too long? Maybe I’m just stupid. Anyway great work to you too!

P.S.: Yeah, I’m definitely gonna change that, nice suggestion!:wink:

4 Likes

Yes, it does account for it, but only in the fastest possible projection, not the median.

By the way, your level graph doesn’t account for resets (and you made a typo on subscription):

It’s nice to see a vocabulary-only wall of shame. It might be cool to make one for radicals and kanji too!

Oh I overread that. Yeah, that would be very nice!

1 Like

Oh no, gotta fix that!

Great idea!

1 Like

I don’t mind it showing all the levels, but if you did that, the X-axis labeling would need to be corrected so that level 35 isn’t labeled 42. :wink:

1 Like

I tried to fix it (but I don’t think I got it). It’s difficult to debug because I haven’t reset my progress yet. I’m going to try tomorrow to get it done.

But I now implemented the individual Kanji, Radical, and Vocab Halls of Fame/Shame!

1 Like

I added cookies as well. So you don’t have to type in your token every time!

2 Likes

You might be interested in this API token with a reset & 0 lessons: 502066c2-fa74-4193-b269-d5d5fa68ec8a

1 Like

Oh, cool! Is there also a token known which has a reset and more than 0 lessons?

Btw I added new features: SRS stage to time graph and accuracy to time graph.

1 Like

I suppose you can use my token to test (reset at 1 → 1 and 28 → 22) but I’ll expire it once you’re finished since I have a subscription active

It’s read-only, WK data is public, and I don’t really care if you look at my stats, so I’m not terribly concerned that it will be available.

P.S. Refreshing the page appends an equal sign (=) to the API token which prevents the authorization from success

Edit: Removed expired token

2 Likes

The review sections stays blank for me, a look in the calls says that there is a 429, too many request, you should throttle the call to wk api

image

1 Like

Thanks for telling me! I haven’t got that many levels under my belt so I didn’t notice this was a problem! I just fixed it by throttling the requests. It should work now, although it now will take quite a while to finish (~ 20 secs).

2 Likes

Thank you so much for giving me your token!!!

I fixed the bug with the level display thanks to your help. You can expire the token now.

Now it probably all works and the graph should show you a one and a half year history of SRS stage data!

1 Like

It stills 429 for me, with about 120k reviews. :sweat_smile:
edit: it kept continuing after that but unsure if it miss some reviews.

The update to the website takes a while to roll out. If you just reload the tab it will also not show. So you have to copy the link close the old tab and open it in a new one! And wait ~15 seconds if it shows Error 429 directly and then try again. Hope it helps ^^

And if it still shows those errors in the console, that’s because I implemented the fail safe that if there are 429 Errors it will try again until it can load the next data.

1 Like

nah I think I had the latest code (not even the same computer), it took 80s to complete.

1 Like

Oh ok. I have to throttle it even more probably because there is just so much data. The API was probably not made to output this amount of data… oops.

1 Like

The results don’t looks right though: