KameSame - a fast, feature-rich Japanese memorization webapp

@searls I wonder if I could remove some/all kanji on KameSame? I’ve been adding vocabularies only for these past few weeks.

1 Like

Yes, if you search for the kanji you want to remove you can click “Reset this kanji”

1 Like

perfect. thanks!

Major Update #4: Account management & password reset

Since I wrote KameSame primarily for my own use, I didn’t bother with a bunch of typical things you might expect, like:

  • Field validation that name isn’t blank, email is unique, or that WaniKani API is valid
  • Ability to change name, email, or password
  • Ability to update WaniKani API key (if you regenerate it)
  • A password reset feature

Well, KameSame has all of that now. It was every bit as annoying and laborious as I expected. Check out the new goodies in the account page:


What I typed: 大きい
What it expected: 大きい

The above are copied and pasted. FWIW:


I’ve left the tab open in case you want me to use the console to execute some JS to test anything.

Edit: also just happened for kanji for woman: 女 (\u5973 for both; tab also still open)

Second edit: also just happened for kanji for power (カ), although this time it looks like I did screw something up (which probably rules out this specific issue for the other two cases):



Okay, I tried it and it worked, but only for a certain kanji. I wonder if I can delete (reset) all kanji on KS? Because I once deleted kanji one by one, until that beachball appeared again on my Safari. I couldn’t screen capture the beachball, I had to force quit my Safari. I think I’ll just want to test vocabularies on KS. I don’t want to type and press space over and over to find the correct kanji writing for a kanji.

I don’t have a feature to support that right now, sorry. If you’re having trouble with Safari, I’d encourage you to try with another browser for this.

Thanks for this @ilyakamens, but for the life of me I cannot reproduce it, locally or in production. What device are you using?

OS X 10.14 and Chrome 70 (although it might have been 69 at the time). Doesn’t happen consistently.

I don’t have any evidence for this besides not being able to think of anything else, but I wonder if what was displayed to me and what was actually sent to the server are different.

Perhaps I’ll practice with the network tab open so that I can inspect the network requests if it happens again.

I’d appreciate that. Note that the review results come back in very small JSON payloads via a websocket connection, so it’s under a separate tab. Also, if the connection is very slow, the client will attempt to replay the result to the server after a while

Shoot. I assumed it was happening all in the client after I didn’t see anything in the XHR tab upon submission. Will check websocket tab next time. Any chance you can reset the timer for all my vocab/kanji so I can do a run and inspect?

Sorry, I don’t have a way to do that because the implementation doesn’t use any timers

Hey - it happened again. Here’s the websocket info for my submission (JSON serialized):


Here’s the response:

“{“identifier”:”{“channel”:“StudyChannel”}",“message”:{“reviews”:{“518”:{“item”:{“id”:515,“type”:“kanji”,“app_url”:“https://www.wanikani.com/kanji/兄",“level”:3,“parts_of_speech”:null,“text”:“兄”,“meanings”:[{“meaning”:"Older Brother”,“primary”:true,“accepted_answer”:true},{“meaning”:“Big Brother”,“primary”:false,“accepted_answer”:true},{“meaning”:“Elder Brother”,“primary”:false,“accepted_answer”:true}],“readings”:[{“type”:“kunyomi”,“primary”:true,“reading”:“あに”,“accepted_answer”:true}],“spellings”:,“relatives”:[{“id”:5748,“text”:“兄貴”,“type”:“vocabulary”,“readings”:[{“primary”:true,“reading”:“あにき”,“accepted_answer”:true}]},{“id”:2821,“text”:“兄弟”,“type”:“vocabulary”,“readings”:[{“primary”:true,“reading”:“きょうだい”,“accepted_answer”:true}]},{“id”:2620,“text”:“兄”,“type”:“vocabulary”,“readings”:[{“primary”:true,“reading”:“あに”,“accepted_answer”:true}]},{“id”:2621,“text”:“お兄さん”,“type”:“vocabulary”,“readings”:[{“primary”:true,“reading”:“おにいさん”,“accepted_answer”:true}]},{“id”:7717,“text”:“従兄弟”,“type”:“vocabulary”,“readings”:[{“primary”:true,“reading”:“いとこ”,“accepted_answer”:true}]}]},“most_recent_attempt”:{“text”:"\b兄",“outcome”:“incorrect”,“alternate_match”:null,“actual”:null},“complete”:false,“srs_stage”:5,“failed_review”:true}},“request_id”:74}}"

There appears to be a \b prefixed to my submission, which I guess is ASCII for backspace. When I copy my submission into a variable (say, x), x[0] == ‘\b’ evaluates to true. I swear I’m not hitting backspace for these (said every user ever), so I’m not sure how it’s happening. Any chance you could add some more sanitization to the submission (I know you already trim it to remove whitespace)?

I’ve finally gotten some time to work on KameSame this week. My main focus is on improving the incentive to stick with KameSame by implementing a level & XP system. That’s actually mostly in place already, but I’ve been careful not to expose it through the interface (spoiler: you all have a level, you just can’t see it!)

However, today I do have an incremental update to improve the results and flow of the review pane. From now on, your review queue will shuffle all available reviews (rather than prompt you to type how many you’d like to study). Because KameSame does a good job of saving your session and surviving refresh/forward/back, it doesn’t seem necessary to batch up your reviews in the same way it does for lessons.

More importantly, you’ll see an improved result screen with the rankings of everything you got correct & incorrect, like so (click for the full height image):

As the screen suggests, any time you click “Home” from the study screen, you can preview your performance while you’re doing reviews and then resume the review session without losing any state.


If you resume, it’ll just continue your current progress and retain current statistics (percentages, review summary, etc). If you restart, it’ll clear those stats as well as pull in any items that became ready for review since you started

1 Like

Hey, I seem to be having an issue with it just sitting on loading after I submit an answer since the update. Using my mobile browser.

1 Like

Sorry to hear it! First could you try opening a new tab and trying again?

Also, if you could share anything in your browser’s JavaScript console that’d be a great help

1 Like

Thanks for the quick reply.

I’ve tried it again in an incognito tab and the same thing is still happening. To be honest I’m not sure how to inspect the console on my mobile browser but I’ll see if I can follow a guide.

1 Like

Thanks for your hard work. I’ve been using KameSame for about 2 months now, and it really helps me to recall and visualize the kanji and vocab. WK wouldn’t be the same without this app :wink:

Keep up the great work!


I’m really sorry that you’re still experiencing this. I just reviewed the error logs (and didn’t find anything), then upgraded most of the libraries KameSame depends on.

Tot roubleshoot further, could you e-mail me at howdy@kamesame.com so I can debug?

In the meantime, if you could try logging out and logging in again, try another device or browser, etc, that’d be a great help to verify whether it’s a device/browser or something with your particular user.

1 Like