Product Design · Case Study · 2026

FrameLog

Giving scanned film the metadata it never had.

An iOS app for film photographers — log the stock, camera, and story behind every roll, then tag and favorite frames so a year of shooting stays findable.

Role
AI Product DesignerEnd-to-end · concept → hi-fi
Timeline
1 dayMay 2025 · idea → prototype
Team
SoloDesigned & built independently
Tools
Claude · Claude DesignAI-assisted workflow
01

Who it's for

Built for the enthusiast who shoots a few rolls a month — not the pro in Lightroom.

A non-pro film photographer, 18–35. They shoot a few favorite stocks, send film to a lab, and get back flat JPGs with none of the context they care about.

Mobile-native, not Lightroom users. They share to Instagram and want a calmer, film-native home where a roll still feels like a roll.

18–35
Target age
1–4
Rolls shot / month
Lab
Scanned · JPG / TIFF
Instagram
Shares to communities
02

The problem

A scanned negative arrives as a flat file — stripped of everything that made the shot.

Scanning throws away what matters most: no camera, no stock, no date, no place. The roll — film's basic unit — disappears into a folder of files.

FrameLog makes logging that context feel less like data entry, more like annotating a contact sheet.

03

Design principles

Three ideas the whole interface is built on.

01

Metadata as material

Stock, ISO, camera and dates are set in monospace like a film rebate — everywhere, yet always secondary to the photo.

02

Paper & darkroom

The app lives on warm paper-white; the frame viewer flips to near-black, so a print reads like it's on a lightbox.

03

One quiet brand color

A deep forest green carries identity and every active state. The photographs supply all the other color.

04

The core flow

Import-first. The roll exists before the metadata does.

Photos import immediately; the metadata catches up. An Inbox holds anything still missing details.

1

Import

From camera roll, iCloud, or computer.

2

Auto-roll

Auto-created and dropped in the Inbox.

3

Add details

Stock, camera, dates, place — picked, not typed.

4

Tag & favorite

Tag by scene and light; bookmark the keepers.

5

Browse

Filter across rolls; save Smart Albums.

05

The system

Warm darkroom-editorial — three typefaces, two surfaces, one brand color.

Display · Cormorant Garamond
Every frame, remembered.
Body · Inter
Give your scanned film the metadata it never had — stock, camera, and the story behind every roll.
Metadata stamp · JetBrains Mono
PORTRA 400 · ISO 400 · CONTAX T2 · 14–21 AUG 2025
Palette
Canvas
#FAF9F5
Card
#EFE9DE
Ink
#181715
Brand · forest
#0D442D
Film-stock tones — placeholder gradients per emulsion
Radii
7
13
18
26
PILL
Spacing · 4px base
sp-1
4
sp-2
8
sp-3
12
sp-4
16
sp-5
22
sp-6
26
sp-8
44
Components
Add details Edit
All 12 Favorites Street
12 Frames Needs info
Add a place
Iconography — one custom set · 1.8 stroke · round joins · 24px grid
06

Brand & identity

A serif "F", set like a printer's letter — not an app glyph.

A high-contrast serif F that reads as type. Forest green is its home, cream its reverse — paired with the wordmark or alone as an app icon.

FrameLog markFrameLogPrimary lockup · reversed
app icon
App icon
#0D442D
Forest green
Brand color
07

The screens

A full, working iOS flow.

Every screen below is the live prototype — embedded and interactive. Tap, scroll, open a roll, page through frames.

08

How it was made

An AI-assisted design process — and where the designer steers.

From brief to prototype via a pipeline of AI tools — each step leaving a durable artifact (PRD, wireframes, design.md). The judgement calls stay with me.

Step · AI tool + artifact Shipped to production
09

MVP feature set

Seven features define the first release.

10

What success looks like

One north star, framed by activation, retention and engagement.

North-star metric
Completed Rolls per Month

A roll is complete once it has a stock, a camera, and one tag — the moment its photos become findable.

≥50%
Activation
First roll completed within 7 days.
≥35%
D30 retention
Plus rolls-per-MAU for depth.
Tag %
Engagement
Tag coverage and filter usage per WAU.
11

Beyond MVP

A roadmap, and the rails it runs on.

Build notes
ClientReact Native (Expo)
BackendSupabase · Postgres
AuthEmail · Apple · Google
Film DBStatic JSON seed + custom
OfflineSQLite mirror · sync on reconnect
12

Try it yourself

The whole app, in your hands.

Sign in, import a roll, give it a stock, page through the darkroom viewer.