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 15, 2025
Tweet

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