Inspiration

When I moved to the UK, I thought my English was good enough for everyday life. I had spent years learning English through textbooks, so I knew the grammar and vocabulary. But real conversations were completely different.

Sometimes I knew exactly what I wanted to say, but I couldn't form the sentence quickly enough. Other times, I translated directly from my own language and what I said sounded awkward, too direct, or even rude, even though that was never my intention.

That affected more than just conversation. It made social situations harder, made me less confident, and sometimes made it difficult to show what I was actually capable of.

Over time, I realised I wasn't the only one. I met many people who could speak English, but still struggled to express themselves naturally and confidently. Some were being underestimated or missing opportunities because the way they communicated did not reflect their actual abilities.

I wanted to improve as quickly as I could, so I spent a lot of time practising. One of the methods that helped me most was listening to TV and radio and repeating what I heard, trying to copy the way people naturally spoke.

It worked. I became much more comfortable with everyday conversation. But there were still two problems.

First, I still didn't always know what to say in situations like workplace conversations, meetings, or other situations where the right wording and tone mattered.

Second, when I practised speaking, there was no one there to tell me whether I was actually pronouncing things correctly or explain what I needed to improve.

That is what inspired me to build Mirra. Mirra is designed around those two problems: helping learners understand what to say in real situations, and giving them detailed feedback on how it sounds when they say it.

What it does

Mirra helps learners practise both what to say and how to say it.

Learners can choose lessons based on real-life situations, including small talk, practical situations, and workplace conversations.

Each lesson gives the learner a natural conversation script to follow. They can choose between basic and advanced versions, depending on their level. The goal is to teach not just vocabulary, but how to interact, respond, and phrase things naturally in context.

After listening to the conversation, the learner repeats the highlighted sentence.

Mirra then analyses the recording and gives:

  • An overall pronunciation score
  • Word-by-word feedback
  • IPA for each word
  • Detailed feedback on individual sounds

IPA, or the International Phonetic Alphabet, is a system of symbols that shows how words are pronounced rather than how they are spelled.

For each word, learners can:

  • Hear the expected pronunciation
  • Compare it with what they actually said
  • See which sounds were missed, added, or mispronounced
  • Tap individual sounds to hear how they should sound
  • Practise difficult words on their own

This creates a simple learning loop:

learn the conversation → hear how it should sound → repeat it → get feedback → practise the difficult parts

The aim is to help learners build confidence in both choosing the right words for the situation and pronouncing them clearly and naturally.

How we built it

Mirra is built with React Native, with a Python FastAPI backend handling lesson data, user progress, audio processing, and pronunciation feedback.

A key part of Mirra is the pronunciation analysis system.

Instead of using a third-party pronunciation service, we built our own system to compare what the learner was expected to say with what they actually said.

Behind the scenes, Mirra uses:

  • Wav2Vec2 to process the learner's speech
  • eSpeak to generate the expected pronunciation
  • CTC forced alignment to match the learner's speech to the expected sounds
  • A custom scoring system to compare the two

This allows Mirra to give more than just a single pronunciation score.

It can show learners:

  • which words they pronounced well
  • which sounds were different
  • whether they missed a sound
  • whether they added an extra sound
  • which parts they should practise again

The goal was to turn complex speech analysis into feedback that feels simple and useful for the learner.

Challenges we ran into

One of the biggest challenges was making the pronunciation analysis consistent and reliable.

We found that the same person saying the same sentence could receive noticeably different results depending on the recording conditions. A recording made in a quiet room could behave very differently from one recorded in a noisy environment, or when the speaker was particularly close to or far from the microphone.

This was a problem because learners need to be able to trust the feedback they receive.

To make the results more stable, we built an audio-processing step before pronunciation analysis. Instead of processing each recording in just one way, Mirra creates three versions of the audio using different FFmpeg settings:

  • one optimised for quieter recordings
  • one optimised for louder recordings
  • one using a more neutral setting

All three versions are analysed in parallel, and Mirra automatically selects the result that provides the strongest pronunciation analysis.

This approach significantly improved the consistency of our scoring across different recording conditions.

It also taught us an important lesson: building pronunciation technology is not just about recognising speech accurately — it also means dealing with the messy, unpredictable audio people record in the real world.

Accomplishments that we're proud of

Although Mirra only went live recently and we have not started actively promoting it yet, we already have users signing up and practising their pronunciation.

What we are most excited about is seeing early evidence that the feedback is helping.

By looking at pronunciation attempts in our database, we can see that some users' scores improve gradually as they continue practising. That suggests they are not just using the tool once, they are learning from the feedback, adjusting their pronunciation, and getting better over time.

For us, that is one of the most meaningful accomplishments so far.

Mirra was built to help learners understand not only whether something sounds wrong, but what they can improve. Seeing users make progress through repeated practice is an early sign that this approach is delivering real value.

We are still at a very early stage, but seeing measurable improvement before we have even started promoting the app gives us confidence that we are solving a real problem in a useful way.

What we learned

Building Mirra taught us that pronunciation feedback is only useful if learners can understand what to do next.

A single score is not enough. Learners need to know which word caused the problem, which sound was different, and how they can practise it again. That is why we focused on word-level and sound-level feedback rather than only showing an overall score.

We also learned how much recording quality affects pronunciation analysis in the real world. People do not always practise in perfect conditions, so making the system robust to different microphones, volumes, and background noise became just as important as the pronunciation model itself.

Another important lesson was that knowing English vocabulary and grammar does not necessarily mean someone feels confident speaking. Many learners struggle more with choosing natural wording, responding in the moment, and knowing whether they sound clear.

Finally, seeing users' pronunciation scores improve over repeated attempts reinforced something important for us: feedback becomes much more valuable when learners can immediately act on it, try again, and see their progress.

These lessons have shaped Mirra into more than a pronunciation scorer. We are building it as a practical tool to help learners understand what to say, how to say it, and how to improve with each attempt.

What's next for Mirra

The next stage for Mirra is focused on three things: reaching the right learners, expanding access, and growing the lesson library.

First, we want to put Mirra in front of more of the people it was built for — learners who are already at an intermediate level of English but feel stuck and want to become more natural, confident, and fluent in real conversations.

We plan to build dedicated social media channels around this audience, using practical English content to help people discover Mirra and understand how it can support the next stage of their learning.

Second, we want to make Mirra available to Android users in mainland China, so more learners can access the app in a market where English learning is highly important.

Finally, we will continue expanding the lesson library.

Mirra currently has 66 lessons, covering everyday conversations, practical situations, and workplace communication. Our goal is to grow this to more than 100 lessons by the end of this year, and continue adding new scenarios over time.

Built With

Share this project:

Updates

Submission history