Project Story

About the Project

Polycado is an AI-powered language learning app built around short, realistic video case studies. Instead of starting with grammar rules or vocabulary lists, the app begins with everyday communication moments: ordering coffee, asking about a train, explaining a sore throat at a pharmacy, or understanding different English accents.

The core idea is simple:

$$ \text{Watch} \rightarrow \text{Understand} \rightarrow \text{Choose} \rightarrow \text{Explain} \rightarrow \text{Shadow} $$

The learner first watches a short video without seeing hints that reveal the answer. After the video finishes, they answer a comprehension question. Only after making a choice does the app reveal the transcript, translation, explanation, communication takeaway, and shadowing prompt.

I wanted the app to feel less like a textbook and more like a personal language coach that helps people understand real situations.

What Inspired Me

I was inspired by the gap between traditional language learning and real-world listening. Many learners can recognize words in an app, but still freeze when a real person speaks with a natural accent, emotion, speed, or cultural context.

I wanted to build something that focuses on communication first:

$$ \text{Communication} > \text{Perfect Grammar} $$

The inspiration came from the idea that learners should practice real-life moments, not isolated sentences. A person asking for help at a pharmacy, ordering coffee, or checking whether a train goes to Shinjuku carries emotion, context, and urgency. Those details matter.

I also wanted the app to support multiple explanation languages, because learners should be able to understand feedback in the language that feels most natural to them.

How I Built It

I built the project as a mobile-first Expo React Native app. The first version uses a TikTok-style vertical video feed where each video takes up the full screen.

The main app flow is:

$$ \text{Video Feed} \rightarrow \text{Quiz Overlay} \rightarrow \text{Case Study Explanation} \rightarrow \text{Shadow Practice} $$

The current implementation includes:

  • Local video clips stored in the app assets
  • A full-screen vertical feed
  • Auto-play for the active video
  • A quiz that unlocks after the video finishes
  • Transcript and translation reveal after the user answers
  • Case-study explanations
  • Communication takeaways
  • Shadowing prompts
  • A global language setting for explanations, questions, answers, and post-quiz text

I also added support for multiple explanation languages, including:

  • English
  • Chinese
  • Spanish
  • French
  • Japanese
  • German
  • Korean
  • Portuguese
  • Arabic
  • Italian

The selected language controls the quiz question, answer choices, translation, explanation, takeaway, and shadowing instruction. The original transcript remains in the target language, because that is the sentence the learner is studying.

What I Learned

I learned that language learning design is not just about content. It is also about timing.

If the app shows too much information before the learner answers, it leaks the answer. That weakens the learning experience. Because of that, I changed the flow so the learner only sees neutral video metadata before the quiz. The explanation appears only after they commit to an answer.

I also learned that even small UI choices can affect learning behavior. A title like “Missing the Bus” can reveal the correct answer before the learner has listened carefully. Removing that kind of hint makes the quiz more authentic.

Another important lesson was that multilingual support should not be added only to one paragraph. If the user chooses Chinese, Spanish, or Japanese as their explanation language, the entire learning experience after that choice should feel consistent.

Challenges I Faced

One challenge was balancing helpful context with answer leakage. At first, the app included labels like “Real Case Study: Missing the Bus” before the quiz. That made the app feel informative, but it also gave away the answer. I had to rethink the interaction and move explanations until after the learner answered.

Another challenge was organizing localized content. Each case study needs multiple versions of the same learning material:

$$ \text{Prompt} + \text{Options} + \text{Translation} + \text{Explanation} + \text{Takeaway} + \text{Shadow Prompt} $$

For every supported language, those fields need to stay aligned. If one part is translated and another stays in English, the experience feels unfinished.

I also faced technical challenges with mobile previewing, local video assets, and Expo configuration. Video-based apps are more demanding than simple text-based apps because assets, playback behavior, file names, and device testing all matter.

Why This Project Matters

Polycado matters because it treats language learning as communication practice, not just memorization.

A learner should not only know what a sentence means. They should understand:

  • Who is speaking
  • What situation they are in
  • What emotion or intention is being expressed
  • What phrase they can reuse in real life
  • How to say it out loud with confidence

The long-term vision is an AI language teacher that observes what the learner understands, builds a learner model, recommends the next useful case study, generates practice, evaluates speaking, and keeps adapting.

In simplified form:

$$ \text{Observe} \rightarrow \text{Model} \rightarrow \text{Recommend} \rightarrow \text{Practice} \rightarrow \text{Evaluate} \rightarrow \text{Repeat} $$

This project is my first step toward that vision.

Built With

  • codex
  • heygen
Share this project:

Updates