# C12 Android — Voice-over Script

**Runtime** ~4:29 &middot; **19 beats** &middot; **617 words** &middot; paced at 148 words per minute  
**Screens** `prototype-android/shots/` &middot; 976 × 1992 px RGBA with true alpha, Pixel bezel included  
**Live prototype** `prototype-android/index.html` — press <kbd>Space</kbd> to play the same sequence  
**iOS companion** [`VO-SCRIPT.md`](VO-SCRIPT.md) — same structure, 18 beats, 4:14

---

## How to use this

1. Record the **Continuous read** at the bottom in one pass. Do not chase the timings while recording.
2. Drop the shots on the timeline in order and stretch each to the duration in the table.
3. Where a beat lists two shots, cut between them on the sentence break noted in *Cut on*.
4. Every shot is RGBA with a genuinely transparent surround, so it drops onto any background with no masking and no white box.

> **Cutting both films together?** The iOS and Android beat sheets are deliberately parallel. Beats 01–18
> cover the same concepts in the same order, so the two can run as a split screen or as an A/B section
> inside one longer film.

---

## Beat sheet

| # | In | Length | Beat | Screens |
|---|----|--------|------|---------|
| 01 | `0:00` | 15.7s | The problem | `01-today` |
| 02 | `0:15` | 17.3s | Live Updates | `02-live-update` |
| 03 | `0:33` | 15.7s | Always-on display | `03-always-on` |
| 04 | `0:48` | 18.1s | Glance widgets | `04-widgets` → `05-widgets-ticked` |
| 05 | `1:06` | 14.5s | Material 3 Expressive | `06-m3-dashboard` → `07-m3-curriculum` |
| 06 | `1:21` | 14.5s | Gemini Nano | `09-gemini-summary` |
| 07 | `1:35` | 18.5s | On-device draft | `10-gemini-draft` |
| 08 | `1:54` | 13.7s | Notification channels | `11-notifications` → `12-notif-prayed` |
| 09 | `2:08` | 12.0s | BiometricPrompt | `13-locked` → `14-unlocked` |
| 10 | `2:20` | 13.7s | ML Kit capture | `15-scan` |
| 11 | `2:33` | 12.0s | Report captured | `16-scan-result` |
| 12 | `2:45` | 20.6s | Media3 and Android Auto | `17-curriculum` → `18-android-auto` |
| 13 | `3:06` | 12.0s | Google Wallet | `19-wallet` → `20-wallet-stored` |
| 14 | `3:18` | 14.9s | Say it out loud | `21-voice-recording` |
| 15 | `3:33` | 10.4s | Commitments | `22-commitments` |
| 16 | `3:43` | 12.0s | Google Tasks | `23-tasks-mirror` |
| 17 | `3:55` | 18.1s | Display size | `24-font-default` → `25-font-largest` |
| 18 | `4:13` | 16.1s | Close | `26-close` |

---

## Beats in full

### 01 &middot; The problem
`0:00` &middot; 15.7s &middot; `01-today.png`

> This is the C12 Android dashboard today, recreated from the shipping app. A Material 2 toolbar, six rows of label and value, and a bottom bar painted a colour the iOS app has never heard of.

### 02 &middot; Live Updates
`0:15` &middot; 17.3s &middot; `02-live-update.png`

> Start with the one day a month that matters most. Android 17 promoted progress notifications into Live Updates, and forum day is exactly that shape: minutes left in the session, the peer on the floor, and who is up next.

### 03 &middot; Always-on display
`0:33` &middot; 15.7s &middot; `03-always-on.png`

> It survives the screen going dark. The same Live Update collapses onto the always-on display and into a status-bar chip, so a Chair can read the clock with the phone face down on the table.

### 04 &middot; Glance widgets
`0:48` &middot; 18.1s &middot; `04-widgets.png` → `05-widgets-ticked.png`

> Eleven months of the year, C12 does not need a screen. It needs two facts: when is the next meeting, and what do I owe someone. Glance widgets answer both, and a commitment closes from the home screen in about two seconds.

*Cut on* — “It needs two facts: when is the next meeting, and what do I owe someone”

### 05 &middot; Material 3 Expressive
`1:06` &middot; 14.5s &middot; `06-m3-dashboard.png` → `07-m3-curriculum.png`

> Inside the app, the same data as scene one, rebuilt in Android 17's design language. Tonal surfaces, a pill navigation indicator, and for the first time one shared C12 palette across both phones.

*Cut on* — “Tonal surfaces, a pill navigation indicator, and for the first time one shared C12 palette across both phones”

### 06 &middot; Gemini Nano
`1:21` &middot; 14.5s &middot; `09-gemini-summary.png`

> A peer brings something hard to the forum. Twelve replies. Gemini Nano reads the thread on the phone and tells the member what they missed, including the part where they were asked directly.

### 07 &middot; On-device draft
`1:35` &middot; 18.5s &middot; `10-gemini-draft.png`

> Then it drafts a reply, which the member edits and sends. All of it on the device through ML Kit. Nothing left the phone. For a network of chief executives sharing payroll numbers and prayer requests, that last sentence is the whole product.

### 08 &middot; Notification channels
`1:54` &middot; 13.7s &middot; `11-notifications.png` → `12-notif-prayed.png`

> Notifications a member can actually finish, on separate channels so replies and meeting reminders can be muted independently. And I am praying is one tap. A button no other app has.

*Cut on* — “And I am praying is one tap”

### 09 &middot; BiometricPrompt
`2:08` &middot; 12.0s &middot; `13-locked.png` → `14-unlocked.png`

> C12 holds a member's real financial position. So lock the numbers, not the app. Discussions stay open. The dashboard covers itself and comes back with a fingerprint.

*Cut on* — “Discussions stay open”

### 10 &middot; ML Kit capture
`2:20` &middot; 13.7s &middot; `15-scan.png`

> Then the heaviest job in the product. Once a year every member writes a CORE Business Presentation, and section ten wants five Economic Value Add figures. Today a chief executive reads them off printed statements and retypes them. Instead, point the camera.

### 11 &middot; Report captured
`2:33` &middot; 12.0s &middot; `16-scan-result.png`

> Five figures, read on the device by ML Kit, each one labelled and every one editable. It saves encrypted against Financial Management, and WorkManager attaches the statements alongside them.

### 12 &middot; Media3 and Android Auto
`2:45` &middot; 20.6s &middot; `17-curriculum.png` → `18-android-auto.png`

> C12 already offers read it to me on the monthly curriculum, so the reading is solved. What a browser cannot do is follow a member into the car. A media session puts the same audio on Android Auto, keeps playing with the screen off, and syncs where they got to.

*Cut on* — “But they do drive to forum”

### 13 &middot; Google Wallet
`3:06` &middot; 12.0s &middot; `19-wallet.png` → `20-wallet-stored.png`

> Forum day, handled in advance. A Wallet pass surfaces itself on the morning of, and again when the member reaches the venue, costing no notifications at all.

*Cut on* — “A Wallet pass surfaces itself on the morning of, and again when the member reaches the venue, costing no notifications at all”

### 14 &middot; Say it out loud
`3:18` &middot; 14.9s &middot; `21-voice-recording.png`

> The most valuable minute in C12 is the one right after a member presents, when their peers have just told them what to do. Nobody types then. But they will talk in the car.

### 15 &middot; Commitments
`3:33` &middot; 10.4s &middot; `22-commitments.png`

> Two minutes of speech becomes three commitments, each one attributed to the peer who raised it, and every one editable before it saves.

### 16 &middot; Google Tasks
`3:43` &middot; 12.0s &middot; `23-tasks-mirror.png`

> And those commitments follow the member out of C12 into Google Tasks, with geofenced triggers that fire when they arrive at the venue or leave the office.

### 17 &middot; Display size
`3:55` &middot; 18.1s &middot; `24-font-default.png` → `25-font-largest.png`

> One more thing. Android exposes both font scale and display size, and C12 members are chief executives over forty-five. Most of them have moved at least one of those sliders. That is the median rendering of this product, not an edge case.

*Cut on* — “Most of them have moved at least one of those sliders”

### 18 &middot; CORE preparation
`—` &middot; 17.0s &middot; `27-core-prep.png`

> One more, and it is the one that is not a meeting. The CORE Business Presentation happens once a year. Twelve encrypted sections a member fills in over months, last year's key questions carried forward, three years of figures behind it. A phone is good at exactly that: a little at a time, wherever they are.

### 19 &middot; Close
`4:13` &middot; 16.1s &middot; `26-close.png`

> One more, and it is the one that is not a meeting. The CORE Business Presentation happens once a year. Twelve encrypted sections a member fills in over months, last year's key questions carried forward, three years of figures behind it. A phone is good at exactly that: a little at a time, wherever they are.

None of this is a port. Every concept sits in the Hotwire Native shell Android already ships, around the same Rails application. Parity is not a second backlog here. It is the same work, twice, on purpose.

---

## Continuous read

Read straight through. Pause about one second between paragraphs.

This is the C12 Android dashboard today, recreated from the shipping app. A Material 2 toolbar, six rows of label and value, and a bottom bar painted a colour the iOS app has never heard of.

Start with the one day a month that matters most. Android 17 promoted progress notifications into Live Updates, and forum day is exactly that shape: minutes left in the session, the peer on the floor, and who is up next.

It survives the screen going dark. The same Live Update collapses onto the always-on display and into a status-bar chip, so a Chair can read the clock with the phone face down on the table.

Eleven months of the year, C12 does not need a screen. It needs two facts: when is the next meeting, and what do I owe someone. Glance widgets answer both, and a commitment closes from the home screen in about two seconds.

Inside the app, the same data as scene one, rebuilt in Android 17's design language. Tonal surfaces, a pill navigation indicator, and for the first time one shared C12 palette across both phones.

A peer brings something hard to the forum. Twelve replies. Gemini Nano reads the thread on the phone and tells the member what they missed, including the part where they were asked directly.

Then it drafts a reply, which the member edits and sends. All of it on the device through ML Kit. Nothing left the phone. For a network of chief executives sharing payroll numbers and prayer requests, that last sentence is the whole product.

Notifications a member can actually finish, on separate channels so replies and meeting reminders can be muted independently. And I am praying is one tap. A button no other app has.

C12 holds a member's real financial position. So lock the numbers, not the app. Discussions stay open. The dashboard covers itself and comes back with a fingerprint.

Then the heaviest job in the product. Once a year every member writes a CORE Business Presentation, and section ten wants five Economic Value Add figures. Today a chief executive reads them off printed statements and retypes them. Instead, point the camera.

Five figures, read on the device by ML Kit, each one labelled and every one editable. It saves encrypted against Financial Management, and WorkManager attaches the statements alongside them.

C12 already offers read it to me on the monthly curriculum, so the reading is solved. What a browser cannot do is follow a member into the car. A media session puts the same audio on Android Auto, keeps playing with the screen off, and syncs where they got to.

Forum day, handled in advance. A Wallet pass surfaces itself on the morning of, and again when the member reaches the venue, costing no notifications at all.

The most valuable minute in C12 is the one right after a member presents, when their peers have just told them what to do. Nobody types then. But they will talk in the car.

Two minutes of speech becomes three commitments, each one attributed to the peer who raised it, and every one editable before it saves.

And those commitments follow the member out of C12 into Google Tasks, with geofenced triggers that fire when they arrive at the venue or leave the office.

One more thing. Android exposes both font scale and display size, and C12 members are chief executives over forty-five. Most of them have moved at least one of those sliders. That is the median rendering of this product, not an edge case.

None of this is a port. Every concept sits in the Hotwire Native shell Android already ships, around the same Rails application. Parity is not a second backlog here. It is the same work, twice, on purpose.
