If you tried to do homework alone, you know the struggle, exercises are not always clear, you are not sure if your answers are correct, you don’t have someone to practice with, and you have a lot of questions that only a 24/7 tutor can answer. That’s why I’m building Rosetta!
Learning a new language is hard and requires some work. There is no shortcut or optimization that you can use to avoid doing a lot of practice. And how do you practice? Exercises, exercises, exercises. Where do you find exercises? Course books and online courses of course!
But if you've ever tried doing homework alone, you know the struggle: exercises aren't always clear, you're unsure about your answers, you don't have a practice partner, and you have many questions that only a round-the-clock tutor could answer. But can you afford that?
My approach was to create a ChatApp-like experience, without the overhead of building, publishing, and maintaining a native app for the various platforms. That’s why I decided to build a Progressive Web App that can be installed on smartphones and tablets and used directly from the browser.
The front end is Made of React (Ionic Framework), and the back end is serverless and written in Python. For now, it relies on OpenAI, but I plan to extend it with self-hosted LLMs. I’ve chosen Ionic because It will permit me to build the native app versions without changing the codebase if I decide in the future to publish it to the respective marketplaces.
For the back end, serverless was the natural choice due to the atomic nature of the requests and the low traffic at this early stage. Python is the language of artificial intelligence, which is why I chose it for its extensive libraries, comprehensive guides, and ease of deployment.
I chose to host everything on AWS because it's the cloud provider I know best and can deploy all necessary services on.
Front-end
Figma Ionic React TypeScript i18next Localization Google Analytics Web APIsBack-end
Python OpenAI LLMs Speech Recognition Prompt EngineeringPlatform
AWS Lambda S3 API Gateway Cloudfront AWS CDKCost surge: How to prevent cloud service costs from unexpectedly increasing due to spikes in usage or DDoS? CORS is disabled, the APIs are protected by AWS Shield and the OpenAI costs are limited to a certain amount.
Design and usability: I’m not a UI/UX expert, which is why I’m reading a lot and following courses on this topic. At the same time, I’m actively showing my app to potential users and observing their behavior. This approach not only allows me to refine the app continually but also helps me develop my expertise in the UI/UX domain of digital projects.
Speech recognition: The speech recognition functionality is currently the most challenging aspect of the app’s development. Despite testing two different approaches with some level of success, the performance has yet to meet my expectations. To address this, I plan to deploy a self-hosted speech recognition model and enhance its responsiveness by implementing real-time connectivity through webhooks soon.