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
Tweet

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