Skip to content

Responsive Design

All UIs must be fully responsive, covering the entire device range from mobile to desktop. Responsiveness is not optional—it is a core requirement.

Rules

  • Early planning: Responsiveness must be considered at the start of the design process, not patched in at the end.
  • Mobile-first: Use a mobile-first design and implementation strategy. Start with the smallest viewport, then progressively enhance layouts for larger screens.
  • Breakpoints: Define and document standard breakpoints for the project. Avoid arbitrary or inconsistent breakpoints across components.
  • Consistency: Ensure consistent spacing, typography, and component scaling across device sizes.
  • Readiness: A UI is never considered ready unless it has been tested across multiple devices and screen sizes.

Implementation guidelines

  • Use flexbox and CSS grid for responsive layouts.
  • Prefer relative units (rem, %, minmax) instead of hard-coded pixel values.
  • Hide/show or rearrange components thoughtfully—never break the flow of the page.
  • Always test on real devices or responsive simulators to validate behavior.
  • Tailwind CSS is the preferred tool for responsive design. Tailwind's built-in breakpoint system (sm, md, lg, xl, 2xl) and utility classes make responsiveness faster, consistent, and easier to maintain compared to writing manual CSS media queries.
  • MUI can also support responsiveness, but care must be taken:
    • Avoid inline styles that make layouts hard to maintain.
    • Always implement reusable components that follow the DRY principle.
    • Centralize style logic in theme configuration or shared components.