§II.04 · APPS · MAKEiOS + ANDROID · DESIGNED AND SHIPPED
The closesta brand ever getsto a person.
It rides in the pocket. It wakes when they wake. It sits under the thumb between elevator floors. We design, build, and ship native mobile apps for brands, products, and commerce: apps that feel native because they are native, not web wrappers with a fresh coat of paint. iOS and Android, end to end: thesis to binary.
F-0 the wake — your brand is the first frame of their day.
01 · POCKET → WAKE
A wrapper stops at the glass. We build to the logic board.
Most “apps” are a website in a shell: one generic layout poured into two stores, rendering above the cover glass and hoping nobody notices. We go down the stack: React Native when one codebase serves the product, native Swift and Kotlin when it needs the metal. The framework is chosen by what the product needs — never by our habit, and never left to you to guess at.
02 · WAKE → FIRST SESSION
EIGHT SCREENS, ONBOARDING TO compose.
The spine of a first session, drawn screen by screen: welcome, account, permissions, the empty state, the populated home, detail, compose, settings. Every one designed twice: once against iOS conventions, once against Android’s. Each screen names the transition that carries it to the next.
- 01Onboarding · welcomepush
- 02Account · createpresent
- 03Permissionsfade
- 04Home · empty staterefresh
- 05Home · populatedpush
- 06Detail · contentmodal
- 07Composetab
- 08Settingssession held
03 · UNDER THE THUMB
A thumb has a country: everything it can touch without the hand shifting its grip.
We chart the hand before we draw a single screen.
Cartography first: the tab bar and the bottom sheet in the prime zone, rows and chips in the stretch, headers in the far north where things are read and never pressed. Every target at least 44 pixels — big enough to be honest under a moving thumb.
F-3 the screen, surveyed from the grip.
04 · FIRST SESSION → HABIT
OPENED TWICE A DAY.
EARNED, NOT TRICKED.
Habit-forming design has a slot-machine reputation it mostly deserves. We run the loop honestly: a cue worth waking for, an action worth the unlock, a return the user chooses. And after launch we keep our hands on the instruments — analytics, crash monitoring, over-the-air updates, and a version cadence that never lets the app go stale in the pocket.
the person holding the device can always feel the difference.
05 · THE BUILD LINETHESIS → BINARY
Five stations. Two binaries.
- 01 · SCOPEProduct strategy before pixelsWhat the app does, who it’s for, and the hard question asked first: why does this need to be an app at all?
- 02 · DESIGNTwo platforms, drawn in parallelAgainst iOS and Android conventions — never one generic spec sheet stretched across both and feeling slightly wrong on each.
- 03 · BUILDThe right metalReact Native when one codebase serves the product; native Swift and Kotlin when it needs the platform’s full depth. The product picks the framework.
- 04 · SUBMITThrough both gatesApp Store and Play Store submission, review, and approval, filed, chased, and landed by us.
- 05 · OPERATEHands on the instrumentsPost-launch: analytics, crash monitoring, OTA updates, and a version cadence that keeps the app alive in the pocket.
06 · THE NUMBERS
Proof, to the decimal.
- 18
- apps shipped to the stores
- 16.0
- iOS minimum target
- 28
- Android minimum · API 28 / Android 9
- 0.78
- React Native build line
- 3
- design densities cut · @1x @2x @3x
- 2
- store binaries per engagement
instrumented with Amplitude · watched by Sentry
07 · IN YOUR HANDS
What lands on your desk.
- A shipped iOS app
- A shipped Android app
- Store listings, written and assembled
- Analytics and monitoring, wired in
- Source code in your repository
AND WHAT NEVER DOES
- Managing store submissions.
- Picking a framework.
- Debugging a build pipeline.
