🎛️ Deep Dive · Intermediate

shadcn-flutter: porting a design system, not a theme

Copying a web design system into Flutter fails when you only copy colors. shadcn-flutter is useful because it forces a layered story: tokens → primitives → composites → your app.

Diagram: shadcn-flutter

Steal this

  1. Own the source (copy-in model) so you can edit without fork pain.
  2. Keep accessibility and focus rings as first-class primitives.
  3. Document variants; do not hide them in one mega-widget.

Pitfalls

Web CSS assumptions (cascading, :hover) do not map 1:1. Budget for desktop pointer polish separately from mobile touch.

Use this when Material defaults fight your brand.

#Flutter#OpenSource#DesignSystem