Introducing Language Hopper
https://www.languagehopper.com/
This is a translator tool built for language learning. It makes it easier to comprehend foreign languages by splitting the text into individual words, and then displaying a corresponding translation directly below each individual word. You can click each word to show and hide its respective translation. You can also individually hear the pronunciation for each word. It enables language learning based on the "comprehensible input" method. It is particularly useful for Chinese, which is a difficult language for beginners to segment words, predict pronunciations, and increase vocabulary.
Each translate session has a dynamic URL, which you can share around (no authentication needed).
Rough roadmap:
- Searchable history of translator form submissions
- As you click words to show and hide each word's corresponding translation/pronunciation, this show/hide information will persist in the Convex database. That way, when you revisit the translate session's URL, you can resume your studying where you left off. Furthermore, a study partner could hide information on your behalf, and your experience will update in realtime.
- Ability to watch an embedded YouTube video with (user inputted) captions interlinearized
- Schedule emails to yourself of this interlinearized study content.
Feel free to request features.
One interesting technical feature about this app is that it builds UI components while streaming an AI response. That's how the interlinear experience is able to build itself throughout the stream (as opposed to requiring the end user to watch a loading spinner). I took inspiration from this Stack article: https://stack.convex.dev/ai-chat-with-http-streaming