A product concept exploring what happens when language practice stops resetting every time you close the app. Designed end-to-end, competitive research through prototype and metrics, the way I'd bring it into a roadmap review.
I'm a longtime Duolingo user, and the thing that's never quite worked for me is the gap between finishing a lesson and actually being able to say something out loud in French. I'd pass every exercise in a unit and still freeze the one time I needed to order a coffee for real.
So I went looking for whether Duolingo had already noticed this. They had. Adventures, shipped in 2024, drops you into a Duolingo character's shoes to complete one scenario per course unit. Speaking Adventures, rolling out through 2026, pushes the same idea into voice. Both are genuinely good. Both are also, by design, disposable. You finish the scenario, and it's gone. There's no record you were ever there.
That disposability shows up directly in how people talk about the app. Two complaints come up again and again in reviews and analyst breakdowns: recognition isn't production, picking the right answer out of a list is a different skill than generating language under pressure. And the same few scenarios repeat, with nothing changing if you play them again.
I stopped asking "what's a fun new scenario" and started asking: what if the place itself remembered you?
There's a real psychological reason this matters, not just a UX one. Foreign Language Speaking Anxiety research points to a specific fix: repeated, contextualized practice that feels like spontaneous real use. That's what actually lowers the fear of speaking, not more vocabulary.
Duolingo City is a persistent world, living in its own tab, where the locations you've practiced in stay open, and the people in them remember you. Go to the café once. Come back next week, and the barista's first line isn't generic. It references how long it's been since you last came by, pitched to how you've actually been performing in conversation, not just which grammar unit you checked off.
It's not a new character system, a new economy, or a new social feature layered on top of Duolingo. It's the smallest version of "a city that remembers you" I could design that's still honest, buildable, and worth trusting with someone's data.
This ended up being the most important design decision in the whole concept.
And that's on purpose. It's a structured profile per person, per location, that selects from a small bank of pre-written dialogue variants, not a model generating a fresh conversation from scratch every time.
Each location's dialogue is written as a handful of variants, chosen by simple rules: first visit or returning, short gap or long gap, strong or shaky recent performance. It's the same authoring model Duolingo already uses for branching exercises, it scales with writing time, not inference cost, and every line gets reviewed before it ships.
This is a working prototype of Duolingo City. Open the café, metro, or market — each NPC remembers your visit history and adjusts their opening line accordingly. The results screen shows your confidence score and how many responses you gave without using the hint.
Click any unlocked location on the map · Use the hint button to see the translation
Duolingo City as its own tab. Café, métro, market. The existing avatar walking into each scene. A location memory profile per user, per location. Dialogue variants for first-visit, returning-soon, and returning-after-a-gap, adjusted for recent performance. A results screen that shows a confidence score alongside something more honest than accuracy: how many responses you actually produced yourself, without a hint.
The first version of this concept was bigger: six locations, a full character creator, relationship tiers with real rewards, NPCs that remembered everything you told them. It was also a worse idea, even though it looked more impressive on a slide.
Cutting personal memory wasn't really about privacy law. It was about realizing the version of this that knows your job and your relationship history isn't actually a better product, it's a creepier one wearing a better product's clothes. The smaller, plainer version, an NPC that remembers your coffee order and notices you've been gone a while, does the entire emotional job on its own.
That's the thing I'd want a senior PM to walk away with. Not that I designed a clever memory system. That I knew which parts of "clever" were actually load-bearing, and cut the rest.