Overview
Signal is an internal design system I maintain for teams that need a common vocabulary without the overhead of a full platform team.
Problem
Teams kept reinventing buttons, dialogs, and forms - each with their own focus handling, keyboard bindings, and spacing rules. Users felt the inconsistency.
Approach
Picked a small primitive set from Radix, layered a token system in Tailwind, and documented motion and accessibility contracts alongside components. Every component ships with stories, tests, and a11y notes.
Selected details
- Composable primitives with documented a11y contracts
- Motion system with reduced-motion support by default
- Consumed by 4+ product teams
Outcome
Consistent surfaces across products, faster shipping for product engineers, and a clear contract between design and engineering.