Why I built it
Most language apps are good at showing rules and vocabulary, but they do not really react to how a person speaks. I wanted Movilno to feel closer to a calm personal tutor: one clear next step, real conversation, and practice based on what the learner actually needs.
What it does
Movilno is an iOS-first English mentor for Ukrainian- and Russian-speaking adults who understand English but freeze when they need to speak.
A lesson connects the whole learning loop:
- prepare the vocabulary;
- speak with Mila, the AI tutor;
- save useful words from the conversation;
- review the material and complete an assessment;
- turn that evidence into mastery, scheduled practice, and the next lesson.
It is not a chatbot next to a static course. Speaking, vocabulary, assessment, progress, and review all share the same learning state.
What I built during OpenAI Build Week
Movilno existed before the event, but the core experience changed substantially during Build Week:
- rebuilt live speaking around Acoustic Flow, captions, saved words, transcript review, and recovery;
- shipped Dictionary v2 with mastery states, scheduling, six exercise types, word details, and summaries;
- made practice local-first with durable sessions, batch sync, idempotent writes, and server receipts;
- added retryable lesson completion and signed AI assessment receipts;
- improved native iOS interactions, accessibility, Reduce Motion, settings, and modal flows;
- unified Mila's identity and Gemini Live voice behavior;
- strengthened CI, migrations, E2E coverage, deployment checks, and physical-device releases.
How I used Codex and GPT-5.6
Codex Desktop with GPT-5.6 was my main engineering collaborator, not a one-shot code generator.
I used repeated visual feedback, simulator runs, production logs, and a physical iPhone to accept or reject the result. Longer parts of the build ran as persistent /goal sessions until the requested outcome and its checks were complete. Codex worked across React Native, Next.js, Prisma, shared contracts, tests, CI, and production while I kept product direction and final acceptance.
A separate AI audit used 10 specialist agents to inspect different modules, then brought the findings back into one implementation and backlog.
What was hard
The hardest part was making live voice and adaptive practice reliable outside a perfect demo. Connections drop, apps background, users retry, and progress must not disappear or be counted twice. The mobile state, API, database, scheduling policy, and tests all had to agree.
I am proud that Movilno now feels like one connected learning product rather than a collection of AI features.
What's next
The next step is to feed speaking mistakes more deeply into grammar and vocabulary priorities, so every conversation changes what the learner sees next.
Special thanks to Tibo for resetting my usage limits during Build Week. Without that support, I could not have completed this volume of iteration and shipping.
Built With
- api
- codex
- gemini
- genai
- gpt-5.6
- ios
- jest
- live
- native
- next.js
- playwright
- postgresql
- prisma
- query
- react
- skia
- tanstack
- typescript
- vercel
- vitest
- zod
Log in or sign up for Devpost to join the conversation.