Introduction
From March 20–22, 2026, at Dragon Gate in Tokyo, we won the VoiceOS Award at the international hackathon "Builders Weekend 2026 Tokyo."
Two weeks after the YC-recognized hackathon c0mpiled-7, this was our second award in two consecutive events.
What we built this time was MissionLingo — a language-learning app for practicing real-world Japanese through conversation with AI. In this article, I want to write about what we thought, what we built, and what we learned in 48 hours.
Forming the Team: ICEBREAKER NIGHT Was Where It All Began
I went to the ICEBREAKER NIGHT held the night before the hackathon. There I met someone from Canada who teaches English in Japan. He had only just started learning to program, and this was his first hackathon.
The other member was a Vietnamese engineer based in Japan, with whom I had shared an award at the YC hackathon two weeks earlier. He's in his twenties and technically sharp.
This international team of three would absolutely never have come together without that opening night. I'm truly grateful to the organizers.
What We Built: MissionLingo
The Concept
This is not the usual kind of language app where you pick an English word from a list of choices.
It's an app where foreigners living in Japan learn Japanese by speaking freely with AI NPCs inside fully reconstructed real-world settings — convenience stores, izakaya, taxis, and more.
You learn in three steps:
- Watch: Observe a conversation between AIs. Key phrases are highlighted.
- Play: Take the role of the customer and converse with an AI NPC.
- Feedback: The AI scores you and presents three registers — casual, polite, and formal.
If you answer with just "ramen," it teaches you three ways to say it: "Ramen chōdai," "Ramen wo onegaishimasu," and "Ramen wo itadakitai no desu ga." We call this the "Nani!?" feedback.
Why It's One of a Kind
There are tons of language apps — Duolingo, Babbel, Rosetta Stone. But they all teach "textbook Japanese."
MissionLingo is different. It reconstructs an actual, real-world scene and lets you talk with AI inside it. That's the decisive difference.
Paying at a convenience store, ordering at an izakaya, telling a taxi where to go — we recreated these scenes as they are, with AI NPCs responding as the clerk or the driver. Instead of memorizing textbook phrases, we built an experience where the words come out naturally inside a realistic scene.
On top of that, when you say "I'll pay by card" in the convenience-store mission, a micro-payment actually runs through the Digital Garage SDK. The user isn't "making a purchase" — they're "practicing paying at a convenience store." This concept, which we call Live Payment Play, is the ultimate form of scene reconstruction.
Designed to Enter Every Challenge
This hackathon had four sponsor challenges:
- Lovable — build a web app with no code
- Supercell — AI-driven game experiences
- RevenueCat — subscription billing
- Digital Garage — payment SDK integration
Normally you'd narrow down to just one.
We designed ours so we could enter all of them. I doubt any other team developed two versions in parallel to cover every challenge.
The Two-Version Strategy
- Lovable build (mission-master-japan): The app was generated from prompts in Lovable's chat. A full-stack setup with Supabase + Edge Functions. For the Lovable challenge.
- Next.js build (tpan): Next.js 16 + Vercel + Neon. The real contender, with SDK integrations built in. For the Digital Garage, RevenueCat, and Supercell challenges.
The Lovable build is a showcase for UI and UX; the Next.js build is a showcase for SDK integration. The strategy was to present the same product from two angles.
SDK Integrations That Actually Work
Anyone can say "we used the SDK." We built things that actually run.
Digital Garage VeriTrans4G SDK:
- Four API routes (checkout / authorize / cancel / receipt)
- The payment modal appears naturally within the flow of the conversation
- Transactions are recorded in PostgreSQL
- A real ¥50 payment runs (demo mode)
RevenueCat SDK:
- A premium plan at ¥480/month or ¥3,800/year
- A natural upsell after clearing the 5 Basic missions
- Entitlement management and webhook integration fully implemented
48 Hours of Technical Care
Voice AI: The TTS Race Strategy
Since it's a language app, voice is everything. ElevenLabs' Japanese voices are high quality but occasionally slow. OpenAI's TTS is fast but less natural.
So we implemented a TTS Race:
- Send a request to ElevenLabs
- If nothing comes back within 2 seconds, fire a parallel request to OpenAI
- Use whichever returns first
The user always experiences either high quality or high speed. They're never left waiting.
Full Kansai-Dialect Support
"Teach only standard Japanese, and you won't be understood when you go to Osaka."
We made Kansai dialect a full feature, not an afterthought:
- Kansai variations for all 13 missions
- NPC voices switched to Kansai-dialect speakers (managing ElevenLabs voice IDs by region)
- AI-judge feedback in Kansai dialect too
- Greetings and hints localized as well
The experience of being praised with "Meccha ee yan!" doesn't exist in the standard-Japanese version.
Adaptive NPCs
We track the player's past scores with an Exponential Moving Average and dynamically change how the NPCs behave:
- Average of 4 or higher → Hard mode (slang, unexpected turns)
- Average of 2.5–4 → Normal
- Average below 2.5 → Easy (slower, more hints)
It's not scripted — GPT-4.1-nano generates it in real time, so every conversation is different.
48 Hours by the Numbers
- 41 commits
- 14 missions (Basic 5 / Social 5 / Business 4)
- 34 videos (including Kanto and Kansai variations)
- 14 voice IDs (ElevenLabs, by region)
- 3 SDK integrations (Digital Garage / RevenueCat / ElevenLabs)
- 2 versions (Lovable build / Next.js build)
About the Team
Fierce Debate
The good thing about an international team is that no one holds back.
When opinions split over a spec, Japanese teammates will sometimes read the room and concede. But this team argued like stones grinding against each other. The result was something better, polished out of the friction.
A Programming Class on Day Two
Our Canadian member was a programming beginner. On day two, we set aside two hours, stopped our hands, and spent the time teaching programming.
Using hackathon time for "education" might look inefficient. But afterward, he told me his desire to become an engineer had grown stronger. That made me happier than any award.
The Future I Saw Through Using VoiceOS
Prompted by this award, I actually tried VoiceOS — and it gave me goosebumps.
Just as walking while looking at your phone became normal, an era where muttering to your PC is normal is right around the corner. Typing into Claude Code by hand will become unbearable. Press the fn key, talk, and an app gets built.
I felt I could see a world where the keyboard is reduced to just the special keys.
Closing
Following the YC hackathon two weeks earlier, being given the VoiceOS Award again at Builders Weekend 2026 — I'm grateful all over again.
Above all, thank you to my two teammates who carved out their precious time to fight alongside me. And to the organizers, thank you, as always, for everything.
Grateful for all of it.
