codingstairs
NotesEDULifeContact
⌕Search⌘K
koen

Navigation

  • Intro
  • Blog
  • Life

Get in touch

Send without signing in. Add your email if you'd like a reply.

  • Leave a message anonymously →
  • ✉ warragon112@gmail.com
  • KakaoTalk Open Chat ↗

© 2026 codingstairs

  • Notes
  • EDU
  • Search
  • Life
  • Contact
  • Legal
  • RSS
  • GitHub
Notes›frontend

Dashboard widget uniformity — don''t leave 4 domains with 3 widgets

Published 2026-05-26·0 views

Dashboard widget uniformity

A dashboard is a mirror of the domains your product owns. With 5 domains and only 3 widgets, users instinctively suspect "the other 2 must be unfinished." Uniformity is less an aesthetic concern than a feature-recognition one.

1. Symptoms of a non-uniform dashboard

Symptom User interpretation Real cause
3 of 4 domains have widgets "Is the missing one in beta?" Widget SSOT component missing
Icon colour varies per widget "What category does this colour mean?" No colour-token system
Search bar in a different place per widget "Maybe some widgets don't search" No layout pattern
Some widgets show counts, others averages "What's the metric?" TOP-N vs average not aligned

2. Widget SSOT — one component owns N domains

[DomainWidget]   ← one component
   │
   ├─ title + icon (per-domain prop)
   ├─ search bar (debounce + AbortController)
   ├─ TOP-N list (BFF response)
   └─ "see more" link (domain route)

Instantiate N times with different props.

When the same pattern is replicated across N domains, a missing widget for a newly-added domain gets caught at code review, not in production.

3. Uniformity checklist — every new domain

When you add one domain, users should be able to discover it the same way in the same places. These 7 spots must move together to keep things uniform.

  1. Dashboard widget — same component as siblings + icon/colour tokens
  2. Quick chips on main — one chip among N
  3. Sidebar / nav — for signed-in users
  4. Footer link — for anonymous users, crawler-indexable
  5. Search result category — domain tab in search
  6. i18n keys — ko/en parity
  7. Public-route allow-list — if anonymous entry is allowed (→ see public-route-whitelist)

4. Before / after

Aspect Non-uniform Uniform
N domains + (N-1) widgets 1 missing Exactly N
Cost of adding a new domain 7 manual edits One prop on the SSOT component
User trust "Why is some missing?" "Consistent"
Icon · colour Arbitrary per widget Domain → token mapping
Search UX Differs per widget One interaction

5. Adopting this in your own project

  • Grep dashboards for domains without widgets among your N domains.
  • Extract the best-formed widget as the SSOT component (search + TOP-N + link pattern).
  • Bundle per-domain icon · colour tokens into a single constant; let the widget take them as props.
  • Add the 7-spot sync as a code-review item on the new-domain PR template.
  • Guard against regression — a test asserting "N widget components render on dashboard mount."

A dashboard is the product's first impression and a domain catalogue. One missing slot can shake user trust in the other N-1 domains.

More in frontend

All in this category →
  • Admin UI — ResourceTable SSOT pattern
  • Page Loading UX
  • Native Integrations — OS Features
  • OCR · STT · TTS
  • SQLite — A Single-File DB for Local Apps
  • Tauri Mobile and AdMob