← All reports

umami-software/umami

Umami is a privacy-first web and product analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place. No cookies, no surveillance, self-hosted or in the cloud.

★ 40k · react, next · scanned 2026-10-26 at 559e3c6

87
design health · mostly tokenized
How this is scored · CLI 0.8.12
Value discipline
51/60
Token health
16/20
Consistency
10/10
Critical issues
10/10

The path to 100: 13 points

  • +9 Replace the hardcoded values in 21 of the 22 findings with tokens or scale steps · Value discipline
  • +4 Define 9 more design tokens (11 of the 20 that earn full credit) · Token health
Left alone: 1 value the code marks as deliberate · not counted in the score

Buoy skips a value when a comment explains it or marks it as known debt, when it is a 2–3px optical nudge, or when the commit that added it says it was deliberate. 1 optical nudges.

22
hardcoded-value findings
11
design tokens found
508
components

Most repeated literal colours

  • rgba(0,0,0,0.8) 4×
  • rgba(0, 0, 0, 0.7) 1×
  • rgba(255, 255, 255, 0.85) 1×
  • #ffffff 1×
  • rgba(255, 255, 255, 0.15) 1×
  • #15803d 1×
  • #dcfce7 1×
  • #16a34a 1×

Most repeated literal spacing

  • 8px9×
  • 32px5×
  • 12px3×
  • 24px3×
  • 6px3×
  • 20px3×
  • 12.25px2×
  • 16px2×

Files with the most drift

Drift by type

  • Hardcoded values22

Examples

src/components/charts/ChartAnnotationMarkers.tsx:33
ChartAnnotationMarkers
  • backgroundColor: rgba(0,0,0,0.8) (line 82)
src/components/charts/ChartAnnotationMarkers.tsx:33
ChartAnnotationMarkers
  • gap: 8px (line 85)
  • padding: 12px (line 86)
  • fontSize: 12.25px (line 94)
src/components/charts/ChartTooltip.tsx:4
ChartTooltip
  • backgroundColor: rgba(0,0,0,0.8) (line 20)
src/components/charts/ChartTooltip.tsx:4
ChartTooltip
  • gap: 10.5px (line 23)
  • padding: 14px (line 24)
  • fontSize: 12.25px (line 28)
src/components/input/FieldFilters.tsx:34
FieldFilters
  • paddingTop: 24px (line 179)
src/components/input/FilterBar.tsx:28
FilterBar
  • padding: 32px (line 190)
src/components/input/SegmentSaveButton.tsx:6
SegmentSaveButton
  • padding: 32px (line 26)
src/components/metrics/WeeklyTraffic.tsx:8
WeeklyTraffic
  • backgroundColor: rgba(0,0,0,0.8) (line 110)
src/components/metrics/WorldMap.tsx:21
WorldMap
  • backgroundColor: rgba(0,0,0,0.8) (line 105)
src/components/property-data/PropertyFilters.tsx:32
PropertyFilters
  • paddingTop: 24px (line 176)
src/components/share/SharedSharesTable.tsx:16
SharedSharesTable
  • gap: 16px (line 44)
  • marginTop: 8px (line 69)
  • marginTop: 12px (line 72)
src/app/(main)/boards/[boardId]/BoardEditColumn.tsx:25
BoardEditColumn
  • padding: 32px (line 144)

What Buoy would do about it

Maintainers: this scan used the MIT-licensed CLI at commit 559e3c6. Run it yourself with npx @buoy-design/cli show health, or install the GitHub App to get the fix suggested on every PR. If anything here is wrong, open an issue and we will correct the page. If you would rather this report not be public, email support@buoy.design and we will take it down.

The score describes how much of the UI goes through design tokens, not the quality of the product or the team. Scores can shift between CLI versions as detection improves; this one was produced by CLI 0.8.12. How the score works.