Files
homarr/PRODUCT.md
T

2.1 KiB

Product

Register

product

Users

Homarr is used by self-hosters and administrators who assemble dashboards for services running across home labs and private infrastructure. They need dense, reliable controls and status at a glance, with enough guidance to configure advanced features without hiding how they work.

Product Purpose

Homarr provides one place to organize, observe, and operate self-hosted services. Success means a user can build a useful dashboard quickly, understand its state, recover from configuration errors, and extend it without requiring a bespoke Homarr feature for every service. Boards must load immediately, stay visually stable, keep widgets legible across screen sizes, and make editing feel direct and forgiving.

Brand Personality

Direct, capable, and approachable. Copy should be concise and technical when precision matters, while the interface should remain familiar to users who are not developers.

Anti-references

Avoid decorative admin dashboards, wizard flows that fight ordinary scrolling, hidden configuration magic, inconsistent controls, excessive modal usage, and interfaces that expose implementation complexity before the user needs it.

Design Principles

  1. Keep the user in control by making configuration and consequences visible.
  2. Prefer familiar product patterns and progressive disclosure over custom interaction concepts.
  3. Make simple tasks short without limiting advanced use cases.
  4. Isolate failures so one service or widget cannot disrupt the dashboard.
  5. Use the existing Mantine design language consistently across management and board surfaces.
  6. Keep spatial actions direct: moving, resizing, nesting, and using fixed rails happen on the canvas with immediate feedback.
  7. Preserve predictable widget composition with fixed logical tile sizes and horizontal scrolling before controls become inaccessible.

Accessibility & Inclusion

Target WCAG 2.2 AA. Support keyboard navigation, screen readers, visible focus, sufficient contrast, reduced motion, non-color status cues, responsive layouts, actionable error messages, and keyboard equivalents for drag and resize operations.