Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scaling Design Systems in Flutter: Lessons from...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dhrumil Shah
November 15, 2025
Programming
73
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
More Decks by Dhrumil Shah
See All by Dhrumil Shah
Scaling Design Systems in Flutter: Lessons from building UIKit
dhuma1981
0
39
Utilise the power of AI with Flutter App Development
dhuma1981
0
69
Build_your_First_App_with_Flutter.pdf
dhuma1981
1
450
Flutter: Makes developer’s life easy
dhuma1981
1
410
Flutter Theming & Animation
dhuma1981
1
350
Let's explore Flutter with Firebase
dhuma1981
0
650
Let's Start with Flutter
dhuma1981
4
420
What the Flutter?
dhuma1981
1
390
Let's Flirt with Flutter
dhuma1981
3
480
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
230
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2k
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
160
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
170
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
360
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
340
MySQLとPostgreSQLって何が違うの?
akagami
0
120
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1.1k
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
250
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
470
AI: The stuff that nobody shows you
jnunemaker
PRO
9
930
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
370
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The Language of Interfaces
destraynor
162
27k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
エンジニアに許された特別な時間の終わり
watany
108
250k
Optimizing for Happiness
mojombo
378
71k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
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