Projects

Echo

A speech focused language learning app born from my struggle to speak Chinese.

Visit useecho.ai

Home screen

Home screen

Home screen

The Story

At Dartmouth, I had to take a language. Because I already spoke French, English, and some Adja, I could have used French to breeze through the requirement. Instead, I decided to start from zero and picked Chinese.

It was hard in a way I had never experienced before. For about a year I went through the full routine: grammar drills, vocabulary lists, characters, reading and writing exercises. On paper, I was progressing. But there was one thing that would not click. I still could not really speak.

We had speaking drills in class, and they helped, but they were not enough to give me real confidence. I could memorize sentences, but when I tried to have a conversation, everything froze. I knew that if I wanted to actually use Chinese in the real world, I needed much more speaking practice than a classroom could give me.

Around the same time I was going deep into the AI world and paying attention to voice tools. I realized that voice based AI systems were finally good enough to hold a close to real time conversation. That was the moment when Echo started to form in my head.

Building The First Version

I started Echo as a simple web app. The idea was straightforward: give learners an AI tutor they could talk to at any time, in natural language, with feedback when they made mistakes. You open the app, start speaking, and the tutor keeps the conversation going.

Very quickly I realized that even I did not want to practice a language in a browser tab. Speaking practice belongs on your phone, where your microphone is, where you can walk and talk. So over the summer, after getting the basic idea working on the web, I rebuilt Echo as a mobile app.

I used Expo to build a full stack application that could run on iOS and Android. That meant learning a lot about cross platform design, navigation, authentication, state management, and how to keep latency low enough that a voice conversation feels natural.

Onboarding flow

Echo asks a series of questions about your native language, goals, challenges, and schedule so the tutor can adapt the conversation to you.

Intro

Intro

Native language

Native language

Target language

Target language

Why learn

Why learn

Interests

Interests

Main challenge

Main challenge

Practice frequency

Practice frequency

Current level

Current level

Personalization

Personalization

Plan ready

Plan ready

Permissions

Permissions

Your name

Your name

Account details

Account details

Call ready

Call ready

Voice choice

Voice choice

Roleplay topic

Roleplay topic

Other screens

Roleplay topic selection

Roleplay topic selection

Streak and progress view

Streak and progress view

Echo parrot mascot

Echo parrot mascot

Voice Infrastructure And Tools

For orchestration I leaned heavily on Vapi. Their platform made it possible to connect different pieces of the voice stack, but it came with its own challenges. I spent many hours fighting with incomplete documentation, unexpected edge cases, and behavior that did not always match what the docs described.

That meant I had to understand what was happening under the hood. I experimented with several voice providers, including Cartesia and ElevenLabs. Cartesia in particular stood out for how natural and multilingual their voices sounded. Tuning latency, stability, and quality across different providers taught me a lot about what makes a voice interface actually feel usable.

On the engineering side, Echo forced me to think across the whole stack at once: the mobile client, the backend, security, rate limits, and cost. It was the first project where I felt like I was building a real product, not just a demo.

What Happened Next

After launching the mobile app, I brought around one hundred people into Echo to test it and share feedback. Seeing other learners talk to a tool that started as a personal frustration was surreal. Their responses made it clear that the problem I had with Chinese was not unique.

For a while everything was live. We had a working backend, the app was in the store, and people were using it. But as I kept learning new things about product, infrastructure, and design, it became obvious that the first version of Echo was not the one I wanted to scale.

I eventually decided to shut down the app so that I could rebuild it with a better foundation. The next version will have a cleaner architecture, a more thoughtful experience, and a design that matches what I have in mind for a tool people might use every day.

Still Ongoing

Echo is technically a finished project, but it does not feel finished to me. It is the kind of product I keep coming back to in my head. I want to rebuild it with everything I know now, make the experience smoother, and eventually learn how to market it and grow it beyond my own circle.

Design is the area where I am pushing myself the most. I am spending more time studying interfaces, writing, and storytelling so that Echo feels less like a prototype and more like a tool you would recommend to a friend.

If you are working on voice, language learning, or just enjoy talking about how people learn, I would love to chat.