Case study
Cuyar: movement for adults over 65
Most fitness apps are built for people who already exercise. Cuyar is built for people who've been told by a doctor that they should start moving, and who have never used an app to do it.
That one difference decided almost every technical choice in the product.
The constraints that shaped it
The audience is 65 and older. Here, tap targets, contrast, and type size are the product. So is the tone. The app doesn't scold or count calories, and it never implies that a hard day is a failure.
They are often offline. Cuyar's users are in basements, community centres, and apartments with bad signal, so an app that needs a connection to show today's movement fails at exactly the moment someone needs it. Everything works offline, audio included.
They are bilingual, or Spanish-dominant. English and Spanish ship in one build, and the Spanish was written directly in Spanish.
Voice matters more than text. Reading instructions while trying to balance is a bad experience. The coaching had to be audio.
What we built
29 illustrated movements with original artwork, organised on a seated → supported → standing axis so that the same session adapts to whatever a person can safely do today.
Nine coach voices, generated ahead of time instead of by the browser. We evaluated browser text-to-speech and rejected it: the cadence is wrong for instruction, it degrades unpredictably across devices, and it can't be relied on offline. Clip-backed audio ships with the app instead.
An installable progressive web app. It skips the app store, so there's no 200MB download and no update waiting on a review cycle. It installs to the home screen and works without a connection.
A movement guide, a privacy policy and terms published in both languages, and an accessibility pass driven by the audience instead of a checklist.
The decision we're proudest of
We researched adding a visible difficulty level and progression rank, the standard engagement mechanic, and then deliberately didn't ship it.
Our reasoning: a visible rank makes "this felt hard today" an expensive thing to admit. For a 65+ audience, that self-report is the single most important safety signal the app receives. Any mechanic that discourages honesty about difficulty is actively dangerous, no matter what it does for retention.
Adaptive difficulty stayed. The scoreboard didn't. A studio only makes that kind of trade when it understands who it's building for.
What this demonstrates
Designing to a hard accessibility constraint from the start. Bilingual product craft, including pre-generated voice in two languages. Offline-first PWA architecture. And the judgement to leave out an engagement feature that would have hurt the user.
Last updated