Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scaling Design Systems in Flutter: Lessons from...

Scaling Design Systems in Flutter: Lessons from building UIKit

Avatar for Dhrumil Shah

Dhrumil Shah

November 30, 2025

More Decks by Dhrumil Shah

Other Decks in Programming

Transcript

  1. Pune 2025 Dhrumil Shah Architect, Scapia - Flutter & Dart

    GDE - Mobile App Architect - Startup mentor - A11y advocate
  2. Scalable System Design • Planning the architecture & infrastructure of

    a system • Defining components (APIs, services, databases) • Understanding how they interact to meet requirements
  3. Scalable System Design • Planning the architecture & infrastructure of

    a system • Defining components (APIs, services, databases) • Understanding how they interact to meet requirements
  4. • UI inconsistency slows teams down • Engineering time wasted

    reinventing components • Designers maintain multiple versions of the same UI
  5. • 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
  6. Design System • A style guide for UI & graphic

    design • Ensures products have a consistent, cohesive, on-brand experience
  7. Design System • A style guide for UI & graphic

    design • Ensures products have a consistent, cohesive, on-brand experience Visual + Interaction + Code + Tokens + Governance
  8. Pune 2025 Design System { standards } UIKit { implementation

    in Flutter } Component Library { ready-to-use Widgets }
  9. Template "A page-level blueprint that defines the layout and structure

    of an interface without including specific content."
  10. Flutter Strength for DS • Single Codebase • Declarative Nature

    • Theming + Extension • Composition over Inheritance
  11. Flutter Strength for DS • Single Codebase • Declarative Nature

    • Theming + Extension • Composition over Inheritance • Hot Reload & Widget Previews
  12. API Design Principles with Flutter • Sensible defaults • Fewer

    required params • Consistent naming • Predictable behavior
  13. Anti Patterns in Flutter • Props explosion • Overly generic

    widgets • Styles inside features • Multiple forms of the same component
  14. • Do / Don’t with Code examples The FAB should

    be right-aligned above the navigation bar Don’t cover the navigation bar with FAB
  15. • Golden Tests for snapshot comparison • Widget Tests for

    behaviour • CI Integration to block PRs on mismatched goldens
  16. • 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”)
  17. Examples references • Material Design - m3.material.io • Zing -

    design.tatadigital.com • Sushi - blog.zomato.com/sushi • Blade - blade.razorpay.com • Base - base.uber.com • wise.design