Phone_demo

Rosetta

Language learning Web App powered by AI.

Role: Ideator, designer, developer

Rosetta

Language learning Web App powered by AI.

Role: Ideator, designer, developer

Phone_demo

Tech Stack

Front-end

UI & UX design, Figma, Ionic React – TypeScript, i18next Localization, Google Analytics, Web APIs, npm.

Back-end

Python, OpenAI, LLM, Speech Recognition, Prompt Engineering.

Platform

AWS serverless architecture, Infrastructure as a Code (AWS CDK), GitHub.

The problem

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? Language learning course books and online of course!

But 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. But can you afford it? 

I can’t, that’s why I’m building Rosetta!

Solution Approach

My approach was to create an App-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 or 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, that’s why I’ve chosen it, libraries, guides, ease of deployment, and so on.

I’ve chosen to host everything on AWS because this is the cloud service provider that I know best and where I know how to deploy everything I need.

Challenges

Cost 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.

Results

Rosetta is a Progressive Web Application now available for free at https://rosetta.maurocherchi.com.

Platforms

Scroll to Top