Back to all work01 — Memori · iOS app · Apple Developer Academy · 2026

Journals ask for an essay.Most days give you three photos and a song.

Memori is a native iOS journal that keeps a day as fragments (photos, a line, a quote, its soundtrack) and files them into chapters you want to reopen.

Dark
Light
My role
Concept and product design · wrote the SwiftUI for Capture, Chapters and Recap
Team
The Memorables · 5 people, Apple Developer Academy, Naples
Built with
SwiftUI · on device, no account
Status
Working build · App Store next

01 — In 30 seconds

The problemJournals ask for an essay. Most days give you three photos and a song.
What we didA survey of 50 people, 5 interviews and 4 usability tests. Then paper, a moodboard, Figma and SwiftUI.
The key decisionSave first, organise later: everything lands in today and can be filed into a chapter any time.
The resultA working native app: 19 screens, 6 ways to capture, 3 layouts, and one rule we kept coming back to: fewer features, more memories.

02 The problem

The camera roll has become a memory graveyard: everything is saved, nothing is remembered.

50people surveyed
5interviews
4usability tests

We asked 50 people whether it was just us. Many had a hard time remembering the important moments of their own life: not because they didn’t care, but because nothing helped them keep those moments. Photos live in the camera roll, thoughts in notes apps, songs in playlists, and none of them remember the day together.

So the brief became: not a journal (nobody wants homework at the end of the day), but something closer to scrapbooking, without the work.

03 Sketch, feel, design, build

Paper sketches of Memori screens spread across a table
Sketch.Every idea started on paper. Paper is cheap, so we could throw ideas away fast.
Moodboard collage of app references around the line a keepsake box, not a scrapbook
Feel.A moodboard to decide what it should feel like: warm and personal, something you want to open, not a project to maintain.
Figma frames for the capture, entry, chapters and recap flows
Design.Real screens for capturing, writing and organising. This is where the big idea clicked: chapters, not albums.
The entry The pizza that ruined all others in the SwiftUI build, with a photo of Napoli and a quote card
Build.Built in SwiftUI. I wrote the Capture view, Chapters and Recap; we kept the scope small enough to really build it, not just show pictures of it.

04 Design Principles

A keepsake box, not a scrapbook.

Twenty-one references, each sorted by the job it does for the app and what to leave behind. Out of them came a small system: paper, ink, tangerine, lilac and butter; Instrument Serif for dates and quotes, Instrument Sans for the interface, DM Mono for metadata.

01 · Material is suggested, never imitatedA month is a frosted folder with photos peeking out. No spiral bindings, tape or torn paper.
02 · Colour comes from the memoriesEach chapter gets its own colour and the interface stays neutral, so your photos lead.
03 · Glow is reserved for soundThe orange-to-lilac glow only appears on things you can hear: a voice note, the song of the day.
Direction board: colour palette, type scale and motifs such as a month as a folder, a day as one column, a quote as a whole card, a glowing voice note and the recap digest

05 The hardest call

When should a memory be organised?

A · Chapter firstPick where it belongs before you capture. A decision at the worst moment.
B · Only by dateNo decisions at all, but a year becomes an endless scroll.
C · ChosenSaved to today, filed into a chapter any time. Capture stays instant; meaning comes later.

06 Solution

I wrote this in SwiftUIA chapter in secondsName it, pick a colour, add photos from the library. “What are you keeping?” asks for one fragment at a time: start with one, add the rest after.
A day, in fragmentsA title, a note, something someone said and the soundtrack of the day. Each fragment has its own shape, so a day reads at a glance.
I wrote this in SwiftUISave first, file laterEverything lands in today first and can be filed into a chapter whenever you want. Back in Chapters, the day’s photos fan out of the folder, and Recent days keeps it one tap away.
I wrote this in SwiftUIYour month, played backRecap turns what you kept into a digest by week, month or chapter: the song you played, something someone said and the photos you kept. Press play and it unfolds as a full-screen story.
What the 4 usability tests changed
Heard: some people wanted to start from a template and fill a whole day from one view.Changed: “Start from a template” became an option on the capture wheel.
Heard: people needed a nudge to capture their day.Changed: we added a home screen widget and notifications.
Concept: a Memori widget on the iPhone home screenConcept: a Memori notification on the lock screen suggesting to keep a memory
Added after usability testing: a home screen widget and a gentle, location-aware nudge to keep the moment.

07 From the direction board to code

I wrote the SwiftUI for Capture, Chapters and Recap. The same system from the direction board lives in the code, so the build stays true to the design.

Xcode: RecapView in SwiftUI next to its live preview of the October digest
RecapView and its live preview in Xcode.
One view, three scopesWeek, Month and Chapters are one segmented picker over a RecapScope. The hero’s play button opens the story player as a full-screen cover.
Tokens, not hex codesColours and type come from a shared Theme (Theme.paper, a metaStyle() modifier for the mono metadata), so every screen pulls from the same palette.
Empty states are designedFirst open gets its own prompt (“Start your first chapter”) with a dedicated Xcode preview, and Recap shows “No chapters yet” instead of a blank screen.
Feel, not just lookSwitching scope plays a light selection haptic through .sensoryFeedback.
Xcode: HomeView in SwiftUI with previews for With chapters and First open, showing the Start your first chapter state
HomeView, previewed in its “First open” state.

08 What we learned

19screens designed
6ways to capture
3layouts for a day

And every time we cut something, the memories got more room. Memories don’t need another album; they need a home.

Fewer features. More memories.

← Back to all work