While I was first working on studying for the JLPT in 2020, I began looking around at digital flashcard apps. Initially, I was unable to find any that met my specific needs so I decided to create my own. This application is built using Rails 6 and provides a user interface to create, store, curate, and study Japanese language learning flashcards, along with example audio clips.
After several iterations on the design and UX of this tool, I realized I had added enough features that Anki would be a better tool for my use-case. I have since stopped adding to this tool, but you are welcome to fork the repo and pick up where I left off, or just borrow an idea or two if you're looking to build your own flashcards app in Rails 🎉
My favorite part of working on this application was optimizing the study session user interface. My study sessions at the time were 30-60 minutes long, so even a small improvement had a big affect. To that end I improved mobile data usage with a service worker, added a touch of JavaScript for handling audio on mobile Safari as well as Chrome, and did my best to hone the front-end interactivity for the study session experience.
This app is optimized for both desktop and mobile use. Here are a few screenshots I grabbed from when I last had a version running in production:
All cards
All decks
Configure study session
Card front (in study session)
Card back (in study session)
Rate card difficulty (in study session)