Introducing KameSame - a new reverse-Wanikani web app!


I found a little bug in how Kamesame was detecting alternate matches. Example:

When searching for 綿布, 木綿 was not registering as an alternate match, even though I had set in WK a synonym for 綿布 of “cotton”.

I expected the above to work, so I made some changes to the backend’s search for matches and it will match now.

Letting you all know this in case you notice any surprising or bizarre alternate matches. Let me know and provide examples so I can sort them out.



Heads up that WaniKani’s v2 API appears to be down, and every time KameSame tries to hit the /user endpoint, it results in a 404 error. This means login & account creation will both fail. If you’re already logged in, it’ll keep working.

I’d like to add error handling for cases like this, but I have not yet and don’t have time to do it today (and would rather not create more bugs by forcing a solution).

@viet, is this a known outage?


Can you check if you are hitting the rate limiter? Details should be in the response headers.

We corrected our rate limiting method. The set-up before was really lenient (it was limiting by concurrency, thread, and then api key/ip). The set up we have going right now is representative of what we are advertising, which is now by api key, regardless of concurrency/thread.


I’ll check now. FYI, this is happening from multiple IP addresses and for multiple WK API V2 keys.


Are they 404s or 429s?


Here’s the headers (sorry for the rails console formatting):

> response.inspect
=> "#<Net::HTTPNotFound 404 Not Found readbody=true>"
> response.each_header { |h| puts h }
=> {"server"=>["Cowboy"],
 "date"=>["Wed, 05 Sep 2018 22:31:44 GMT"],
 "content-type"=>["text/html; charset=UTF-8"],
 "strict-transport-security"=>["max-age=31536000; includeSubDomains"],
 "via"=>["1.1 vegur"]}```


I see you are getting a 404 on the example.

Can you shoot me an email of the endpoint you are hitting and the api key?

Are you getting any 429s at all? The payload should be an object with error and code keys. In the headers you should also see RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset.


Sent. No 429s, all 404s.


Thanks to @viet’s help, I think KameSame should be fixed momentarily as a deploy finishes. The app was using a deprecated URL for the WK v2 API, which was disabled earlier today, hence the failures. We’ve updated the endpoints and it looks like things once again work.

Yay! Thanks @viet!


Hey so I’m having this issue where I have 53 reviews to do, but whenever I go over to do reviews, it asks how many I want to review. By default it says 2…

So basically easy solution, change the number to 53. So I do this, however then I am faced with a new dilemma being that the review session starts, but it only lets me review 2 at a time.

Which means I’d have to enter reviews a total of 27 times in order to get everything done.

I’m not sure what to do, and assistance would be appreciated!


This is definitely a bug. How it works currently is it remembers how many reviews you asked for and then saves that amount.For whatever reason this isn’t working in your case.

I just set it to 100. Will look into what happened as soon as I get some time to work on the app


I don’t have anything meaningful to say besides: THANK YOU.
This app is all I wanted. The perfect companion to Wanikani.


Hey thanks for saying it!


Just started using KameSame the other day I and I have one, hopefully small, request. I am absolutely terrible at remember which reading is which so sometimes I get the correct kanji via the wrong reading so I would the option to tell KameSame that I did not get the card correct.

Overall the service has been great and is a fantastic counterpart to WaniKani. Thanks for community contribution.


Thanks! A few people have suggested this and I understand the desire.

Right now the technical implementation for this would be difficult, so I don’t think it’ll rise to the top of the backlog soon




I’ve just added a new lesson sort:

This will sort all of the WK kanji & vocab by the search result count produced by Bing (via its Azure web search API). The production database is currently being seeded with search counts and should be done in the next hour or two. More on that sort order in this thread.

This is a very flawed way to sort items, but seems better than random, at least. I’m finding that lower level items are too simple and high level items are too academic, so it has me on a mission to find a better way to sort. Additionally it has me thinking about ways to add common words that are not in the WK curriculum.



@searls Report. I currently use Mojave and Safari 12.0, my mouse pointer didn’t turn into beach ball anymore. I can happily use KS again on Safari without having to wait and see the beach ball before turning to the next item to review.


Really? Nice! I submitted several reports to friends of mine who work at Apple and a couple things to WebKit developers, and they were all pretty responsive. I’m going to be on my iPad for the next week, but after that I plan on circling back and rivisiting features like installable/PWA, etc, to see if they’ve fixed that stuff too


Hey I have a random request…

But let’s say I just want to do some random reviews. I don’t want to SRS anything. Just give me 100 words or whatever that I can randomly take a crack at, so no SRS required.

Between WaniKani and some of the Anki stuff I have, the last thing I need right now is another SRS routine (but I would like it in the future). I would, however, like to do some free-reviews here and there.

Would that be possible to implement?