Compose Multiplatform & a Design-Token System That Scales Across Modules
Eight feature modules. Eight teams that could go their own direction on colors, spacing, and typography. The result without a design system: hardcoded hex values scattered across the codebase, a rebrand that costs two sprints, and three bugs filed for the screens the grep missed. In this episode we build a design-token system on top of Compose Multiplatform's CompositionLocal machinery. One theme, one Euro accessor object, five token categories. Change any token in one file and every screen in every module responds immediately — on Android, iOS, desktop, and Wasm. ⏱️ Chapters: 00:00 — Hook: 8 modules, 0 hardcoded values 01:05 — Compose Multiplatform vs Compose for Android: what's shared, what's added 02:15 — What design tokens are and why they matter for multiplatform apps 03:25 — EurostatColors: semantic names, not visual names 04:35 — CompositionLocal: static vs non-static, and why it matters for tokens 05:45 — EurostatTheme: wiring tokens on top of Material3 06:55 — The Euro accessor object: @ReadOnlyComposable explained 08:05 — EurostatTypography: Inter + IBM Plex Mono + tabular numerals (tnum) 09:15 — EurostatSpacing: the 4dp grid and why 16.dp is a magic number 10:25 — ModuleAccents: per-feature color identity in one data class 11:35 — Tokens in use: PopulationScreen with zero hardcoded values 12:45 — Bottom line and CTA 🧱 Concepts covered: • CompositionLocal: staticCompositionLocalOf vs compositionLocalOf — when to use each • @ReadOnlyComposable: allows tokens in composable default parameter values • EurostatColors: 10 semantic color roles — paper, ink, accent, warn, grid… • EurostatTypography: 11 named text styles + tabularNumLarge/Small with tnum • EurostatSpacing: 8-step 4dp grid (xxs=2dp → xxl=48dp) • ModuleAccents: per-feature colors driving app bars, tabs, and charts • Compose Resources: bundling Inter + IBM Plex Mono fonts in commonMain • MaterialTheme integration: sitting on top, not replacing, Material3 📦 Project: github.com/RomanTsisyk/MyEuroStatApp A full KMP app — Compose Multiplatform, real Eurostat API data, 8 feature modules. #KotlinMultiplatform #ComposeMultiplatform #DesignSystem #DesignTokens #KMP #AndroidDevelopment #JetpackCompose #KotlinAndroid #CompositionLocal #UIDesign #MobileArchitecture — 🔗 Links Website: https://roman-tsisyk.com/ LinkedIn: / roman-tsisyk GitHub: https://github.com/RomanTsisyk

KIMI 3 - 5 Design Tests for UI/UX & Logos

The Best Local Agentic Coding Workflow (Complete Guide)

Why Google Just Gave Away Gemma 4 for Free

Google & AWS Veteran: What Top Tier Software Architects Do Differently

Automating image tagging with a local LLM

WTF Is Happening to South Korea

The Non-NVIDIA AI Card Everyone’s Ignoring

This Battery Lasts for 30 Years And China Just Put It on the Grid

How To Think SO Clearly People Assume You're Brilliant

Why Netflix is betting on systems thinkers—not specialists—in the AI era | Elizabeth Stone (CPTO)

Give me 15 minutes and I'll Fix Your Dockerfiles Forever

The Creator of Claude Code on The Hottest Piece of Software in the World | Odd Lots

Android 17 sucks. So I put Linux on a phone.

Build a Design System - Full Course

How AI agents & Claude skills work (Clearly Explained)

The 'Do-Not-Hire List' Is Real. Here's What Actually Gets You On It.

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

SQLDelight: The Multiplatform Cache That Compiles Your SQL | KMP

Full Walkthrough: Workflow for AI Coding — Matt Pocock

