Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Scaling Design Systems in Flutter: Lessons from...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dhrumil Shah
November 15, 2025
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scaling Design Systems in Flutter: Lessons from building UIKit
Dhrumil Shah
November 15, 2025
Transcript
79 slides
Ahmedabad 2025 Dhrumil Shah Architect, Scapia Scaling Design Systems in
Flutter: Lessons from building UIKit
Ahmedabad 2025 Dhrumil Shah Architect, Scapia - Flutter & Dart
GDE - Mobile App Architect - Startup mentor - A11y advocate
Why Are We Here?
Scalable System Design • Planning the architecture & infrastructure of
a system • Defining components (APIs, services, databases) • Understanding how they interact to meet requirements
Scalable System Design • Planning the architecture & infrastructure of
a system • Defining components (APIs, services, databases) • Understanding how they interact to meet requirements
DESIGN SYSTEM ≠ SYSTEM DESIGN
Let’s create a button
Ahmedabad 2025
Ahmedabad 2025
Ahmedabad 2025
None
Inconsistent Code Developers create the same button in many different
ways:
• UI inconsistency slows teams down
• UI inconsistency slows teams down • Engineering time wasted
reinventing components
• UI inconsistency slows teams down • Engineering time wasted
reinventing components • Designers maintain multiple versions of the same UI
• UI inconsistency slows teams down • Engineering time wasted
reinventing components • Designers maintain multiple versions of the same UI • Hard to scale without a shared source of truth
We Are Here for DESIGN SYSTEM
Design System • A style guide for UI & graphic
design
Design System • A style guide for UI & graphic
design • Ensures products have a consistent, cohesive, on-brand experience
Design System • A style guide for UI & graphic
design • Ensures products have a consistent, cohesive, on-brand experience Visual + Interaction + Code + Tokens + Governance
None
None
Ahmedabad 2025 Design System { standards } UIKit { implementation
in Flutter } Component Library { ready-to-use Widgets }
Why Companies Need DS • Consistency • Speed • Onboarding
• Reusability
How to start with Design System
Tokens "The smallest, platform-agnostic design values"
Tokens • Colors • Typography • Spacing • Radius &
shadow • Motion
None
None
None
None
None
None
None
Atoms "The smallest functional UI elements"
Atoms • Buttons • Inputs • Icons • Text styles
• Avatars
Molecules "Atoms working together as a small, meaningful unit"
Molecules • Search bar (input + icon + label) •
Form field (label + input + error) • Card header (avatar + text)
Organisms "Complex sections made of atoms + molecules"
Organisms • Navigation bar • Card component • Sidebar •
Form sections
None
design.tatadigital.com/latest/components/accordion
None
None
None
None
None
None
None
Key challenges in Scaling • Multiple teams
Key challenges in Scaling • Multiple teams • New designers
Key challenges in Scaling • Multiple teams • New designers
• Design drift
Key challenges in Scaling • Multiple teams • New designers
• Design drift • Component misuse
Flutter Strength for Design System
Flutter Strength for DS • Single Codebase • Declarative Nature
• Theming + Extension • Composition over Inheritance • Hot Reload & Widget Previews
API Design Principles • Sensible defaults • Fewer required params
• Consistent naming • Predictable behavior
API Design Principles
Anti Patterns • Props explosion • Overly generic widgets •
Styles inside features • Multiple forms of the same component
What Makes a Component "Reusable"? Configurations, states, behavior. Ahmedabad 2025
Handling Multiple Variants • Enum-based variants • Theme overrides •
Composition
Example: Buttons Done Right • Primary/Secondary/Tertiary • Sm/Med/Lg sizes
Documentation
Documentation is Important
Documentation is Important (or why it fails) • Nobody reads
it • Nobody updates it
What Good Docs Look Like
• Usage guidelines Navigation bars can have three to five
destinations
• Do / Don’t with Code examples The FAB should
be right-aligned above the navigation bar Don’t cover the navigation bar with FAB
• Story-Based Documentation • Live Catalogs (Widgetbook / Widget Previews)
• Auto-Generated Docs (Dartdoc)
None
Testing
• Golden Tests for snapshot comparison
• Golden Tests for snapshot comparison • Widget Tests for
behaviour
• Golden Tests for snapshot comparison • Widget Tests for
behaviour • CI Integration to block PRs on mismatched goldens
Testing • Golden Tests for snapshot comparison • Widget Tests
for behaviour • CI Integration to block PRs on mismatched goldens • Linting for Compliance (Custom rules -“no random colors”)
Examples references • Material Design - m3.material.io • Zing -
design.tatadigital.com • Sushi - blog.zomato.com/sushi • Blade - blade.razorpay.com • wise.design
Connect With Me x.com/dhuma1981 linkedin.com/in/dhuma1981 flutterflakes.com conalyz.com
Special Thanks to Tirth AI (Asli Insaan)
speakerdeck.com/dhuma1981
Thank You Ahmedabad
More Decks by Dhrumil Shah
See All by Dhrumil Shah
Scaling Design Systems in Flutter: Lessons from building UIKit
dhuma1981
0
52
Utilise the power of AI with Flutter App Development
dhuma1981
0
87
Build_your_First_App_with_Flutter.pdf
dhuma1981
1
470
Flutter: Makes developer’s life easy
dhuma1981
1
420
Flutter Theming & Animation
dhuma1981
1
370
Let's explore Flutter with Firebase
dhuma1981
0
670
Let's Start with Flutter
dhuma1981
4
430
What the Flutter?
dhuma1981
1
400
Let's Flirt with Flutter
dhuma1981
3
490
Other Decks in Programming
See All in Programming
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
ローカルLLMの基本と近況 2611 / Local LLM basics and recent situation 2611
kishida
0
130
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
270
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.6k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
980
AI Augmentation Techniques with Liberty
ivargrimstad
1
460
AmebaブログはKMPから卒業します
kmars0605
0
350
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
The Limits of Empathy - UXLibs8
cassininazir
2
780
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.7k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The SEO identity crisis: Don't let AI make you average
varn
0
630
Believing is Seeing
oripsolob
1
280
A Modern Web Designer's Workflow
chriscoyier
699
190k
Done Done
chrislema
187
17k
The Cost Of JavaScript in 2023
addyosmani
56
10k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k