[UserScript] WK Distraction Blocker

If you’ve ever gained yourself a considerable number of pending reviews before, you might know the feeling of telling yourself that you’ll start then and there, but ending up just watching youtube or refreshing the WK forums. This userscript solves that problem, by either not letting you do that at all, or making you feel really bad, while you’re turning it off.

How it works

The userscript itself is quite simple, after activating it, you need to do 4 things:

  1. Navigate to the wk dashboard and press the new “Block” button that appeared
  2. Fill in the sites you want to block, one site a line, writing * blocks every site, the script will look for a partial match, so writing example.com will block everything that ends in example.com
  3. Choose a condition that will allow you visit these sites (more on this later)
  4. Fill in your API token. The default, read-only one is enough, easiest way to do this is going to the profile page and opening the popup there.

After these steps, whenever the set condition isn’t true, you will be automatically forwarded to the review page if you even dare to visit these sites.


For now, there are 2 conditions

  • Until at most x reviews remain: Pretty self explanatory, if you have more than the specified number of reviews pending, it will block you. Setting this to 0 makes you complete all your reviews.
  • Until x reviews were completed: This looks at the reviews you completed today (from 12 am in your timezone), if you go below the specified number, you won’t be allowed further.
  • I want to get rid of my reviews by x: This is a long term goal, input the date by which you want to get rid of all of your reviews, and every day you have to do daily amount towards that goal (beware, the number of reviews will increase as your reviews start coming back or if you do lessons)

I wanted to add a condition that triggers if you didn’t decrease the number of reviews you have by some number (so yesterday you had 900 reviews, so today’s goal is 850), but I don’t think this is possible. If you have an idea for a new condtion, feel free to mention it and I’ll try to make it real.


Visual guide on installing userscripts
Link to the userscript

Alternative uses

You don’t need to be 12 feet under your review pile to use this userscript, there are some other uses you could employ it for.
Are you a frequent streak breaker? Set the requirement to 1 review completed and the blocked sites to * (everything) to always be reminded about it.
Want to get rid of all your reviews every day? Set the reviews remaining to 0 and you will need to do it.

Ideas for the future

  • Timed blocking, only block you if the condition isn’t true and it’s already past 8pm, or alternatively don’t block those sites if you’re after 7pm, because you need a break.

Issues and feature requests

Feel free to drop a reply if you’ve found an issue or you want to have a feature implemented. I’m terribly busy nowadays, but I’ll see what I can do.


Thank you…
so, so much ;-;

You don’t know how much this will help me, even on level 60, oh if it only had appeared before…


I’m glad you like it :slight_smile:

1 Like

Small update, accidentally made the script block you if you had exactly the required number of reviews left or done, so if you set it to ask 50 reviews from you, you needed to do 51, now that’s fixed.


0.2 is out, the small feature, is now there is no dependency to CIDWWA, unless it’s needed, this solves a bug, that sometimes let you stay on blocked pages.
The big update is a new condition, long term goals, input the date you want to finish all your reviews by and the script will make sure you keep to your word. Scaled automatically, but doesn’t take returning reviews and lessons into account, because of the inherent randomness (and my inherent laziness).


0.3 (and 0.3.1 and 0.3.2) is also out, now there’s a progress indicator present, telling you how far off you are from being unblocked: