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

Scaling Design Systems in Flutter: Lessons from...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Scaling Design Systems in Flutter: Lessons from building UIKit

Avatar for Dhrumil Shah

Dhrumil Shah

November 15, 2025

More Decks by Dhrumil Shah

Other Decks in Programming

Transcript

  1. Ahmedabad 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. Ahmedabad 2025 Design System { standards } UIKit { implementation

    in Flutter } Component Library { ready-to-use Widgets }
  9. Molecules • Search bar (input + icon + label) •

    Form field (label + input + error) • Card header (avatar + text)
  10. Flutter Strength for DS • Single Codebase • Declarative Nature

    • Theming + Extension • Composition over Inheritance • Hot Reload & Widget Previews
  11. API Design Principles • Sensible defaults • Fewer required params

    • Consistent naming • Predictable behavior
  12. Anti Patterns • Props explosion • Overly generic widgets •

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

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

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

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