Skip to main content
skip to case study
01starting point

founding mobile at digital domi

joined in late 2024 as the first mobile hire. no app yet: a small team, a web product, and the question of what a mobile mailbox should feel like.

we picked flutter, one codebase for ios, android and web.

starting point, screen 1
starting point, screen 2
02architecture

keeping state where it belongs

mvc-style, with providers and value notifiers. most state is ephemeral: the screen owns it and disposes it, nothing global unless it has to be. fewer rebuilds, fewer cross-screen bugs, easier onboarding.

03shipping

a mailbox you actually want to open

the core is the mailbox: physical mail rendered digitally, media you can share, ad campaigns you can act on. i built the upload flow, the viewer, the share sheet and the edge cases.

the flutter web build ships from the same codebase, deployed to s3 by github actions on every merge to main.

shipping, screen 1
shipping, screen 2
04system

one design language across surfaces

as it grew, the components moved into one design system shared by mobile and web. same primitives, same tokens, so the platforms don't drift apart.

system, screen 1
system, screen 2
05more screens

one more screen

more screens, screen 1
outcomes
  • ios + android + weblive on
  • github actions → s3ci/cd