Back to work

Memoria

A voice-first app that helps older adults capture life stories.

Memoria is a voice-first iOS app for older adults who want to preserve personal memories. The hardest part is often not recording — it is knowing how to begin.

I designed and built the product end to end around swipeable prompts, voice recording, and AI transcription. It is currently live in TestFlight.

RoleDesigner + Developer (Solo)
PlatformiOS (React Native / Expo)
Scope0→1 Product / End-to-End Ownership
The Problem

The blank page is the real barrier

Many older adults have stories worth keeping, but starting can feel harder than remembering. Existing tools often assume users already know what they want to record. Memoria is designed around that first moment: helping people begin.

The Product Approach

Prompts first. Voice as the easiest path in.

Instead of asking people to start from nothing, the app offers swipeable prompts that make entry easier. Users respond by voice, AI turns the recording into text, and each memory becomes part of a growing archive they can return to later.

Memoria app — prompts, recording, and archive screens
An Iteration Highlight

A clearer way to finish recording

In testing, one beta user in their 60s pressed Pause when they meant to finish a recording. However, they got stuck between Pause and Resume, unsure how to end the recording.

The original flow had been built with AI around a common recording pattern, but what I observed indicated the paused state didn't make the exit path clear enough.

Original — dominant Pause, Done in top-right

Reasonable at first, but unclear after pause.

AI's First Pass

Based on this observation, I realized the paused state needed a clearer way to finish the recording. I already had a direction in mind — surface a "Done" action near the main controls — and used Claude Code to quickly generate a first-pass fix without over-specifying the details.

AI first pass — Done surfaced after pause

The first AI pass solved the immediate issue, but the interaction felt rough.

Functionally, it worked. But the interaction still felt unpolished — the buttons shifted too much, and the oversized Done action made the paused state feel visually uneven.

Calibrating the Structure

I then used what Claude Code generated as a base, and sketched in Figma to guide the next move. I explored two directions: one removed the top-right "Done" entirely and always showed two buttons, making the next step constantly visible; the other kept the top-right action as a consistent anchor, while adding a contextual "Done" after pause.

Option 1 — removed top-right Done, persistent Done near controls

Direction 1 — removed the top-right "Done" and kept a persistent "Done" button near Pause/Resume.

Option 2 — kept top-right Done, added second Done after pause

Direction 2 — kept top-right "Done" and added a second "Done" action after pause.

I chose direction 2 because it created a better balance between clarity, familiarity, and efficiency:

  • Kept a familiar anchor: the top-right "Done" remained available for users who already knew that pattern.
  • Made the next step clearer: a second "Done" appeared after pause, exactly when users were most likely to need it.
  • Reduced visual overload: unlike direction 1, it did not show two actions all the time.
  • Avoided extra friction: unlike direction 1, it did not turn a one-step action into a forced two-step flow.
Polishing the Visual

The next AI pass got the structure mostly right, but the visual execution still needed work.

AI output — structure improved, visual execution still rough

AI output — structure improved, but visual execution was still rough.

Based on this implementation, I created a calibration sketch to correct the alignment and improve the overall visual balance.

With the main issue largely resolved, a subtler problem became easier to notice: "Done" felt too vague in this context. I changed it to "Finish" to make the completion signal clearer and more explicit.

My refinements — alignment, icon weight, spacing, and label clarity

My refinements — alignment, icon weight, spacing, and label clarity.

Final

After these refinements, ending a recording became a much clearer next step. In later testing, I no longer observed the same confusion in the recording flow.

Takeaway

AI got to a workable first pass quickly. What still needed a designer was judgment — what to keep, what to change, what to rename, and what still didn't feel right. That judgment is what turned a functional fix into a smoother recording flow.

Current State
Live in TestFlight

Designed and built end to end, now in TestFlight

Memoria is a solo product. I own the product decisions, visual design, and engineering. The current build is live in TestFlight, with ongoing work focused on onboarding, archive usability, and the interaction details that make the experience easier to return to.

I'm still actively updating Memoria. If you're interested and have an iPhone, you're welcome to try the current TestFlight build.