An assessment of both shipping apps read from source, two design boards mapping current iOS and Android capability onto how C12 members actually work, and two fully interactive prototypes — one per platform.

Sixteen scenes on a real iPhone frame. Tap anything — tick a widget, draft a reply, scan a P&L, unlock with Face ID. Press Space to watch it play itself.
Open the prototype →
Twenty-four findings read from both shipping codebases, five divergences between the two apps, twelve UX principles, and three effort tiers.
Read the assessment →
The same sixteen scenes on a Pixel frame, in Material 3 Expressive, using the app’s own vector icons. Live Updates, Glance widgets, Gemini Nano.
Open the Android prototype →
Every number and label in the prototypes, checked against 81 tables. Twenty are already real, five are a query away, seven are not there.
Open the sweep →
Parallel iOS and Android scripts — beat sheets, timings and continuous reads, cut against 52 device screenshots.
Open the iOS script →
Live Activities, widgets, Liquid Glass, on-device summaries, notification actions and passkeys — each paired with apps that already ship it.
Open volume 1 →
Capturing the annual CORE figures, curriculum into the car, a Wallet pass, voice to commitments, Reminders, and designing for a membership over forty-five.
Open volume 2 →
Six Android capabilities measured against the shipping Kotlin, with the five divergences between the two apps laid out side by side.
Open the Android board →mobile/ios/C12 (15 Swift files, Hotwire Native iOS 1.2.2, iOS 16.4+) and
mobile/android/C12 (13 Kotlin files, dev.hotwire 1.2.4, targetSdk 35).
An earlier draft was written against c12_core_ios, a 2021 turbo-ios prototype that C12
does not ship; those code findings have been withdrawn.