[iOS & Android] - Gakugame (formerly Relay Cards) native app with multiple choice, daily review batches

Hey everyone, wanted to share a new app I just released ‎Gakugame - WaniKani Companion App - App Store

Why not Tsurukame? Tsurukame is, I believe, the most popular current iOS app and is a wonderful creation which I admire, however I wanted to do a few things differently.

  1. I want easy mode - multiple choice. I don’t want to type while on the phone. So if you want that too, please check it out. I also allow picture hints and audio hints during lessons. You can keep it pure too though if you like.
  2. I wanted to batch reviews. One of the things that killed my motivation with the regular website or any wani kani client was seeing 100+ reviews daily. I just don’t have time for that. I started to give up. Using my own app, I can set daily review batches (as well as lesson batches, as the API supports) the review batches logic is on device, separate from the wani kani API, but everything else is API driven. I developed a daily habit again which I quite like.
  3. I love ruthlessly simple things, Tsurukame just always felt cluttered to me, I’m not trying to replicate every feature or every possible user script, just an easy way to get your daily’s while on the go. I don’t have all the stats and stuff, you can check the website for that is what I’m thinking, but feel free to change my mind.
  4. Native + multi-platform, using a modern SwiftUI codebase, I can support mac, iPad, and iPhone, and have plans for Vision Pro and the Watch down the way, because why not. Swift also compiles to Android these days, so I am working on an Android version. Oh and your API key syncs securely with iCloud, so once you sign in once, all your apple devices will login automatically, yay!
  5. Always free. The app will always be free for a complete wanikani experience, thats important to me both as a user and to respect what wanikani has created. To be completely transparent, I have some ideas for paid features in the future around Japanese language learning, but separate from the waniKani experience, one possible idea importing and integrating Anki decks. Open to hearing thoughts about that.
  6. Why the turtle? Of course Tsurukame was an inspiration, perhaps even subconsciously, but actually I love turtles, and something silly seemed to fit the vibe of the crabigator.

If any of this resonates with you, please try it out, and please reply here with comments what you love, what you hate, or whatever. Cheers.

5 Likes

This is awesome!

1 Like

Hey there! Looks promising!

However I can’t configure it to use my token :pensive_face: I have checked and I’m 100% sure the token is correct but seems like it can’t be decoded.

Any help would be appreciated :folded_hands: Thanks!

Hey! thanks for reaching out and sharing, really sorry about this. It seems that for some reason your account / token is returning a different structure JSON than what the app is expecting, which is why it fails to load. I’m not sure why that would happen, I had assumed all accounts function the same. Hmm, I’m trying to think how to debug it for you, i intentionally have no access to your key, your data, etc, so I can’t see whats different.

Oh, one idea, when you created the token on wani kani’s website, did you allow it all access? It needs every box checked to work, since it both reads and writes to account, reviews, and lessons etc. Let me know if that helps.

Hi!

Thanks for the quick response!

Yes, I gave full access. Just to be sure, I must just copy the string token right?

I use Tsurukame app fine so I guess there’s no issues with my account.

Is there a way to decode the token myself? I’m a developer as well and maybe I can do it somehow to see the error.

Update: I did tried fetching my data from Postman using my token and it was successful:

OK I see, yes the token just like Tsurukame, Postman, etc. should “just work” in Relay Cards as well. There must be some variation I haven’t taken account for.

Oh great, can you share with me the entire json you’re getting back from postman? then I should be able to fix it quickly. You can DM me if thats better to not clutter up this forum. Also i will be adding some more logging and debugging into future builds. I will make a test flight build soon so you can test that.

Perfect! I DMd you on reddit (I first saw your post there and I don’t know how to send DMs here :sweat_smile: )

1 Like

ok great! I see it, haha me neither actually

Quick update - 1.0.1 is out on the app store which fixes the bug (which we discovered was isolated to versions of iOS before 26) In any case, now whether iOS 17, 18, or 26 should not have that issue anymore. Thanks @asdyrocks for helping with the debugging.

some other fun things 1.0.1 adds is more of the native website dashboard features, iCloud syncing more of your stuff like daily’s and streaks, and some UI fixes. It also introduces widgets! so you can keep track of basic stats anywhere.

I’m working on 1.0.2 now which has better keyboard support (just type and press enter, it will auto advance now) and will expand platform support to visionOS, tvOS, and watchOS. And… Android! with a whole rebuild of the cross-platform Skip architecture, it uses some shared swift code and then fully native SwiftUI and Jetpack Compose for each platform respectively.

1 Like

Great work!

1 Like

Thank you! I’m pleased to say 1.0.3 is out now, and now supports every apple platform including widgets and iMessage apps. Send a message to your friend challenging them to know a particular kanji.

This has been a goal of mine ever since SwiftUI enabled multi-platform development. Now, why would you want to study Kanji on your giant 4K TV? or your tiny Apple Watch? I dunno, but now you can. The crabigator must be pleased. Sadly, Android is taking me more time than expected, more on that later.

More importantly, the app is basically feature complete now

- search entire wanikani database, save it to your device for offline viewing

- push notifications, get just one daily reminder to achieve your goals! it automatically will notify you the same time of day you did your lesson or review the previous day

- better loading and less redundant network calls made

- fuzzy logic detection, don’t need exact answers

- mark correct feature, if you just mistyped it, you can set it as correct (we all make mistakes on little keyboards, don’t cheat tho!)

- copy kanji by tapping on the large card

- view details of kanji anywhere in the app, add synonyms easily

- ui fixes, clean grids and flow layout of kanji cards across all platforms

Please let me know any feature requests or problems you may encounter, I want this to be the best wani kani experience. I think I’ve achieved that, personally I don’t use the website anymore, but please let me know.

1 Like

OK, major update combining features and bug fixes since the last one. Also I cleaned up the marketing text to be (hopefully) more clear what makes the app special, and changed the name!

Relay Cards is now Gakugame — New name, same 学亀

• Full offline search — browse the entire WaniKani database, saved to your device

• Daily reminders — one notification per day, timed to your study habits

• Fuzzy input — “old” counts for “older brother”, typos forgiven

• Mark correct — fix misstaps honestly

• Tap to copy — tap any kanji card to copy it

• View details anywhere — see full info and add synonyms from any screen

• Cleaner UI — improved grids and layouts across all platforms

• Faster syncing — fewer network calls, snappier experience

2 Likes

It’s live on Android now! https://play.google.com/store/apps/details?id=com.boldflight.RelayCards

plus a landing page https://gakugame.app

2 Likes

Hello! Came across this just as i was searching for a Tsurukame thread. I mainly use that app for all lessons and reviews now but it randomly crashes on me for a month now and I have no idea why. Just downloaded your app on all 3 of my ios devices (phone, ipad and mac) and testing it out! Will be alternating using it with Tsurukame because I really like the idea and UI is simple.

2 minor things i noticed/encountered:

  1. I copy pasted my API token and it got rejected at first. Then i just backspaced the last 2 digits to make sure there wasnt any space after the token and that did the trick. I encounter this quite often on apps so wasnt much of an issue

  2. After downloading it on mac, I downloaded and booted it up on both my phone and ipad. Both got stuck on the opening screen saying logging into Wanikani. After 2-3 mins, i pressed cancel and retried. Both devices logged in immediately after that and are in sync with the mac app

Feature I would love to see in the future/Suggestion:

Able to manually select my lessons. I know the app is meant to make things as simple as possible so maybe it can be a feature people can turn on themselves? Im currently redoing my early levels again after a hiatus and so I am really used to going into lesson selector and picking up the radicals or easier kanji or vocab to just get out of the way on days where Im mentally exhausted and dont feel like going over the more difficult lessons. After the easier ones are done, I let the WK or app algorithm give me the remaining lessons itself

Edit: Love the dark mode (bless your heart) and I love the way the app looks on the Ipad and Iphone. Forgot to mention some of these smaller things that I really like!

1 Like

Ah thanks so much for reaching out and the feedback, I do hope you like it.

  1. Yes sorry about that, another user pointed this out to me recently, I realized that by default wanikani’s website adds a newline to the key :man_facepalming: which causes it to fail. My code filters spaces but not new lines, anyway simple fix IS on the way where I sanitize more properly, I just haven’t had time to deploy it yet. I’m glad you were able to figure it out!

  2. That’s probably related to a quirk of iCloud itself, there can be a delay on the key actually transferring and I have no control, but the app thinks you do have a key and tries to log you in. Anyway I’m just not sure how to fix that edge case yet, but will investigate.

Tell me more about this idea, this is actually not a use case I have tried myself on any wanikani client, so just help me understand your vision. Are there examples from another app that does this well? Is this like the advanced button on main wanikani app? I’ve never actually used that. Is the point to have custom lessons (see the meaning / defs again) or custom reviews? Can you skip ahead to new items or only previous or available ones? Is it like reviewing burned items as an example? Does it then impact your regular lesson / review feed?

Ok new version inbound on all platforms to fix both of those issues; once I got tinkering I fixed a few other performance stuff and widget syncing issues too. Also streaks now have a freeze state so are forgiving for a day before they’re lost.

Hi, I’ve just found this app on Android and I really like how it looks and feels.

The batch review feature is greatly appreciated too.

I’ve been using the “Smouldering Durtles” app for a while, and Gakugame feels refreshing.

However, I lack some of Smouldering Durtles features, so if I may suggest a few things:

  • Add an option to give a visual clue if the user needs to type in the reading or the meaning, in the same way it works in Wanikani: white for meaning prompts and black for reading prompts. I realise how important it is for the sake of review speed
  • Add a feature to switch to English keyboard for meaning prompts and switch to Japanese keyboard for reading prompts. I think not everyone use that, but some do (me included!) prefere type in using a Japanese keyboard (ie. 12キー)

Also, I don’t quite get how Lesson Presentation work ^^’ I mean, what I expected was to be presented with the new radical/kanji/vocab with their meaning, readings… and then be prompted about those new stuff. However, it’s mixing the “learning” and “quizzing” part, so that I get prompted for items I didn’t learn yet, which is kind of confusing to be honest.

Anyway, keep up the good work, this app is looking great!