Tier 2Tier 2 · Native apps: tokens only. Every element is stock Material 3. put.io hands Material a colour scheme built from the token graph and supplies GT America, Berkeley Mono and the yellow Phosphor file icons.--yellow-solid → primary · --app-bg → surface · --component-bg → surfaceContainer
One colour scheme, no component library
The whole tier-2 integration is one darkColorScheme(...) filled from the graph. Material decides every pressed, disabled and selected state from there.
nav indicator64x32dp pill at 26% primary
FAB56dp, 16dp corner
state layerMaterial's 8% and 12% over onSurface
list item72dp two-line, 88dp with progress
divider1dp, inset 72dp to the label
None of these match iOS, and none should. Same tokens, different platform.
9:41
Films
2024
12 items
The.Wire.S03E04.Back.Burners.1080p.BluRay.x264-DEMAND.mkv
3.42 GB · 2 days ago
Dune.Part.Two.2024.2160p.WEB-DL.DDP5.1.Atmos.HDR.x265.mkv
18.6 GB · 5 days ago
tears_of_steel.mkv
1.20 GB · last week
ambient-session-03.mp3
72.4 MB · 3 weeks ago
Invoices Q1 2026.pdf
210 KB · last month
backup-2026-02-14.zip
14.8 GB · 6 months ago
Files
Transfers
Activity
Account
Material 3 · file browserLarge top app bar, docked search, 72dp two-line list items, pill nav indicator, 56dp FAB.
9:41
Transfers
Downloading
Dune.Part.Two.2024.2160p.WEB-DL.DDP5.1.Atmos.HDR.x265.mkv
11.2 of 18.6 GB · 18.4 MB/s · 6 min left
The.Wire.S03E04.Back.Burners.1080p.BluRay.x264-DEMAND.mkv
Seeding · 1.42 ratio
Failed
ubuntu-26.04-desktop-amd64.iso
No seeders found
Add transfer
Transfer addedUndo
Files
Transfers
Activity
Account
Small top app bar · extended FAB · snackbarProgress is a Material LinearProgressIndicator; the row does not paint itself the way the web transfer row does.
Canvas
412 × 915dp
drawn 1:1
List item
72dp · 16 / 14sp
88dp when it carries progress
Top app bar
112dp medium
small 64 · medium 112 · large 152
Nav indicator
64 × 32dp
26% --yellow-solid
FAB
56dp · 16dp
--yellow-solid / --primary-foreground
Divider
1dp · inset 72dp
--line, aligned to the label
State layer
8% / 12%
Material's, over onSurface
Snackbar
48dp · 4dp
--component-bg-active
Spacing
4 / 8 / 16 / 32
put.io ramp where M3 leaves a choice
Per-control detail, the token map and the full don't list live in platforms/android/DESIGN.md.
Do not make the Android app look like the iOS app. A shared token graph is not a shared interface: a floating glass capsule on Android, a text back-label, or a 51×31 iOS-proportioned switch all read as a port.

Ship Material 3, tinted.