I am trying to learn japanese but so far I could not remember the needed Hiraganas. I tried different smartphone apps, got annoyed by them and thought I could do this myself.

What it does

It is fairly simple. After invoking the skill, the user is presented with one of the first two Hiraganas and four possible answers (display is required). After both Hiraganas have been answered correctly five times, the third will be added to the rotation. This continues until the user knows every available sign. Hiraganas that have been answered incorrectly within the last five attempts will have a higher chance of being picked next.

The voice recognition of Hiraganas does not work very well. It tried a lot but was not satisfied with the results. So I decided to make this UI first for now. This is enforced by leaving the 'shouldEndSession' attribute undefined, therefore alexa will not prompt the user for a voice input. But If you want to try it, you can still give answers via voice with: "Alexa, this is an {HIRAGANA}" (I tested that with the german version of the interaction model, for english this seems to work even worse)

How I built it

  • ASK CLI 2 + cloud formation
  • Kotlin + java ask sdk
  • Deployed as AWS lambda function
  • My girlfriend created the logo

Challenges I ran into

  • Hiraganas do not work well as slot values
  • ask sdk for java feels more cumbersome compared to the JS/TS version that I have used previously

Accomplishments that I'm proud of

  • This went fairly quick
  • actual usable MVP, so that is a plus compared to all my other ideas

What I learned

  • For the next skill I'll go back to JS/TS :)
  • at least a few Hiraganas
  • There is always another Amazon Alexa hackathon on devpost :D

What's next for Hiragana Trainer

  • Welcome screen / Intro
  • UI redesign (kawaii !)
  • Reset progress Intent to start from the beginning
  • Scoreboard/Gamification
  • After Hiragana there are two more japanese alphabets to learn (Katakane and Kanji)

Built With

Share this project: