[Unsupported] Dashboard Userscript: Leech, Apprentice, and Guru detail (aka SRS level progress)

Good news: the links and plugin are now working for me!

1 Like

Glad to here it, @bladepoint. Viet and co rolled out a fix to the WK API. Good to hear from you confirmation of the fix working.

1 Like

I’ve a 24, two 23, and some dozens… And I’m only level 4 :persevere:

That might be a bit too quick to be getting those types of numbers. You might want to look at the why this is happening, get this figured out early before it heavily affects your learning.

As to why, well I’m not you so I can only guess. It is probably down to learning environment, learning method and/or learning schedule.

Your learning environment should be free of as many distractions as possible, this can even include music (as I went into in a bit of detail in another thread recently), if you do want music then try make sure it isn’t too loud and try have music without singing.

Learning method is a bit harder to fix. Not every learning method is for everyone and it could be that Wanikani just isn’t for you, that isn’t to scare you off. You may also just not be taking advantage of the learning. Those mnemonics will absolutely help you if you let them, which is up to you to make happen. My most successful items are ones that have me doing an action or feeling something (like play hatred for Mr’s Chou) or even singing a little, some I even associate to anime titles. Those I have trouble with are usually ones that the mnemonic doesn’t do anything for me.

Finally we have learning schedule. It might be tempting to take days off, I know I occasionally do. Just know that they will affect your learning. At the start of my current level I did all the kanji and radicals I could. I reviewed them once or twice and then I took a day off, when I got back my accuracy on those particular items was abysmal. That one day off has forced me to go back and relearn those items. So avoid days off if you can, though this can lead to burnout so if you are feeling a bit drained on Japanese then think about reducing your daily load and not skipping a day or two.

That was meant to be a quick response but I hope it helped in some way … and that I didn’t sound preachy. We all learn and thrive in our own way, I hope that overly long response helps you in some way to find your own best way of learning.

1 Like

@musera Thanks for your advices. You’re absolutely right. These leeches come from multiple causes: my learning environment (not so quiet) is certainly one. I try to work three times a day, using the non-official WK app when I’m not at home (that means between 8am to 10pm). I must admit I’m not in the best learning environment in my office during lunchtime… but that’s the only solution not to have 100+ reviews when returning home.

The stats given by idigtech.com are useful:
Overall accuracy in meaning: 92.30%
Overall accuracy in reading: 76.05% (and even lower for vocabulary alone: 75.20%)

When I look to my leeches, by far they are reading errors. In fact, I can speak, read and write english, but I’m not a native english speaker; most of the mnemonics given by Wanikani aren’t useful for me as they do not cause memorization.
Moreover, contrary to english which sounds quite like japanese, french pronunciation is very far from both and it is not so easy to find accurate mnemonics. I haven’t those talent to easily imagine mnemonics so I’m forced to find some approximations. For example, I didn’t find any french word that contains something as simple as へい, so I use “hélicoptère” (which would be perfect to へり)… that’s confusing my mind and when I have to answer, I hesitate and I’m often wrong.
And when you add some real leeches as these similar-sounding words that are close-meaning (what’s the difference between ‘few’/‘a few 少ない’/‘a little 少し’ ? I don’t know. In french, ‘peu’ and ‘un peu’ are identical), all that probably explain my pain.
And I know this is only the beginning :sob:

I think the topic should be renamed to

[Userscript] Leech, Apprentice, and Guru detail on Dashboard (aka SRS level progress)

Because, the reason I install this is because of leeches.

Also, please add a link to Leech training script, because it is also on the Dashboard.

@hitechbunny , ever thought about collecting the number of leeches from every user with the script installed and allowing us to see some statistics of it? For example, having the average of leeches from all users between lvls 21-30 would allow me to better understand how well I’m doing.

@jprspereira I have given it some thought. Do you think it’s a okay for me to share that kind of aggregate information? So far when a script uses it’s api key I’m not sharing any of the data that it accesses.

1 Like

Good question. Personally, I wouldn’t mind at all. It would be anonymous and you would be giving us even better tools to manage our WK load. However, I’m sure there will be people not agreeing with this. If you like the idea, you could either create a new script or add an option to allow users to use this function (or not). If they choose to use it, they’d have to share their stats anonymously.

1 Like

I don’t think you should do this unless it’s opt in. And at that point most people won’t think to turn it on unless you prompt them or have a settings page.

1 Like

I moved to the stats to a separate topic: Leech Statistics.

1 Like

The script itself is neat, I just have one tiny complaint…

Could you please prompt the user before logging them in with their API key into your site?
You seem to be storing the keys in a serverside database, because after deleting cookies one is still logged in.

I do not mind personally, but simply transfering the API key without a notice is kinda shady if you ask me.

Thanks for bringing this up, @valeth. I don’t think this is at all shady. So I want to go a lot deeper into the topic than you intended, to explain why. This is partly because it has also been a topic that’s been on my mind.

The brief answer is that I feel I have everyone’s best interests at heart. I’ve written a web site that uses your api key because it makes lots of scripts possible that wouldn’t otherwise be feasible. Because of this there are a number of places an api key ends up by having a script I’ve written active. So here’s the full list:

  • In a browser cookie associated with wanikanitools-golang.curiousattemptbunny.com. You can clear cookies for that site to get rid of it, or use the sign out button on the site.
  • In an analytics tool that I use, called New Relic. Data is discarded there after two weeks (or possible one week, I forget). This is not essential, it’s just easier for me to support people when someone says the script is broken for them but it’s working for me.
  • As the index into caches of assignments, review_statistics, study_materials from the WK site. This is what makes the site so fast at computing leeches etc. This data is currently never deleted (because disk space isn’t a problem). I could either put the effort in to making them expire, or into converting the api key a one-way hash.
  • In my web server logs. This is pretty ephemeral although I’m not sure how quickly the logs are deleted.
  • Specifically for the App Store script: I’m using the api key to track which scripts the user has installed. Again, I could put the work in to use a one-way hash here.
  • Specifically for the Leech Trainer script: I’m using the api key to track which leeches have already been trained. Again, I could put the work in to use a one-way hash here.

I’d like to frame things this way:

  • Installing any user script relies heavily on trusting the author of that script. It’s essentially running arbitrary code which could do anything that JavaScript running on a web site can do.
  • All the code I write is publicly visible - either on greasyfork, or in GitHub.
  • I’m motivated to make my own experience of learning Japanese on WaniKani the best that it can be, and it delights me that others get to benefit from my efforts too. A post like this really makes my day, and affirms that I’m on the right track.
  • I easily volunteer 5 (often more) hours of my own coding time a week on the collection of scripts that I’m writing and maintaining. I have a busy life as a parent, spouse, and employee, so these hours come from a small and precious supply. All that is to say that I’m very deliberate about which features I add. I’m always looking for what gets the best making-the-most-peoples-learning-better to my-time ratio.

So to summarize, I think it boils down to:

  • Ideally, everything is good as-is, or
  • If there are one or two requests to delete api key information, I’ll do them by hand., or
  • If there are multiple requests, I’ll be motivated to either provide an iTunes-like “Agree to Terms” warning (which I personally dislike), or more likely implement a delete-all-my-data button.

Again, thanks for bringing up the topic. I hope this doesn’t come across as me picking on you, because my intention is just to be transparent about how I’m using your api key and what my motivations are.



Sorry, I didn’t want it to come of as harsh as it probably did.

I’m not against storing the keys or user data per se.
Just a bit concerned if this is covered by WK’s TOS about using an user’s API key and especially user data.

I heard that they will clarify soon what can and can’t be done with the data retrieved through the API (probably when APIv2 is more stable).

1 Like

I’m getting slightly annoyed here.

I completely disabled (and even uninstalled) your userscript, cleared my caches/storage/cookies, but the leech indicator is still showing up.

Any idea why this is happening?

Screenshot with the indicators still showing up after disabling the script:

Btw: The Appstore menu option seems to refuse to vanish as well (script is also disabled and uninstalled).

I also explicitly logged out with the logout button on your site.

I don’t know anything about this particular script, but did you originally install it without a script manager (e.g. TamperMonkey) installed? If so, you may have a copy installed directly in the browser extensions.

I installed via Tampermonkey for Firefox.

If I disable Tampermonkey completely, the indicators are gone until I turn it on again.

Even if I delete the node in the inspector, it gets inserted again when reloading the page.

Alright, reinstalled Tampermonkey completely now with every script I was using.
It seems to be fixed now… for now at least.

1 Like

Is this script working properly for people currently or are we still having issues?

My issue is my apprentice count is off, but guru appears to be correct.


I quickly scrolled through the thread so maybe I missed discussion regarding this, sorry.

Is there an update I missed?

Edit : I uninstalled and reinstalled but no change. It still appears to think I have an extra item in Apprentice lv 2.

Yes I just checked, the sum is also 1 off in my case. 176 would be correct but the details show “11/23/62/81” which would sum up to 177 instead. In my case lv 4 is slighlty off and should be 80 instead of 81.

Not that I would care (or would have noticed) because it is too many damn Apprentice items either way but yeah, seems to be a general mini bug.

It’s just odd because it used to be accurate so idk what changed.