๐Ÿ” UX/UI Audit โ€” Spark Automations Internal

Fresh ยท 1d
Structured audit of the internal site ยท 2026-05-14 ยท audit by Spark
โ† Dashboard ยท Projects

โœ… Update 2026-05-14 โ€” ALL 7 fixes shipped

Every item from the original audit is done. #1 staleness pills + Today's Brief auto-refresh via build_dashboard.py (anchored values: days_to_demo, days_to_annex_b, fresh pill from git mtime, latest brief). #2 active-now widget on /projects + 8 scratch dirs moved to projects/_archive/. #3 mobile pass: collapsible-on-mobile banners (tap to expand), responsive snapshot pill on drum/machine viewers, tighter KPI grid + hub h2 typography on small screens. #4 global Cmd+K search across 28 surfaces. #5 closed without code โ€” concluded /sand-separator (project hub) and /clients/rubisco2.html (client overview) serve different levels, not actual dups. #6 recently-shipped widget auto-populates from git log. #7 nav split: content stays top-level, Tools dropdown now holds Sessions/Voice/Workers/CAD/Search, Knowledge dropdown holds Vision/Brand/Tech/UX-Audit.
1

The staleness UI is lying โ€” fix or remove

Tier 1 ยท observable

The staleness pills + Today's Brief + Active alerts are all visually present but un-maintained, which is worse than not having them.

Fix: either wire the staleness pill to actual git mtime + the brief widget to today's date (auto), or remove these widgets. Lying-by-claim > lying-by-omission for a hub you want to trust.
Why this ranks #1: confidence in the entire hub depends on whether its visible signals are honest. Every other improvement is worthless if you can't trust what you read.
2

/projects.html is a 1,585-line wall of text

Tier 1 ยท observable
Fix: default view = "Active in last 14 days" (~6-8 cards). Toggle to "All by tier." Move scratch dirs to projects/_archive/ (or hide from this index). Add client-first filter chips at the top as an alternative axis.
Single biggest navigation win. Cuts your "29 projects" complaint to the active ~8.
3

Mobile experience on dense pages

Tier 3 ยท judgment
Fix: mobile pass on the top 3 surfaces you actually open from phone (dashboard, hub, viewer). Specifically: collapse banners into a "what changed" line, single-column KPI grid, snapshot pill responsive width.
4

No global search

Tier 2 ยท derived
Fix: keyboard shortcut Cmd+K opens a search modal; ranks by recency ร— match. ~2 hours.
High value per hour.
5

Duplicated client/project surfaces

Tier 2 ยท derived
Fix: pick one per client as canonical, redirect the other. Don't maintain twins.
6

"Recent activity" / "what shipped" surface is missing

Tier 2 ยท derived
Fix: dashboard widget that reads the event log and shows last 7 days of commits / deploys / decisions.
Underrated โ€” gives a "things are happening" psychological cue and helps you remember what you shipped this week.
7

Nav information levels are mixed

Tier 3 ยท judgment
Fix: smaller-bore. Not urgent.

๐Ÿ“‹ Ranked work list

#FixEffortImpact
1Auto-update staleness pills + Today's Brief OR remove the lying widgets2-3 hHigh
2Active-only /projects.html view + archive scratch dirs3-4 hHigh
3Mobile pass on dashboard + hub + viewer4-6 hMed-High
4Global search (Cmd+K)2 hMed-High
5Dedup client/project canonical pages1-2 hMedium
6Recent-activity widget on dashboard2 hMedium
7Nav split content vs tools1 hLow
Recommended ship order: 1 โ†’ 2 โ†’ 4 โ†’ 3 โ†’ 6 โ†’ 5 โ†’ 7. Front-loads trust + navigation wins; the mobile pass benefits from the structural fixes landing first.

๐Ÿ—’๏ธ Surface inventory (what got walked)

SurfaceCountState
Top-level pages13dashboard, projects, sessions, voice, decisions, brand, tech, vision, spark, workers, ...
Client subpages8afi, gct, horus, miguel, rubisco2 + deck/portal variants
Project directories22~9 active, ~13 scratch/test/sphere/ball
Mobile baselineโ€”viewport + @media (768) + PWA manifest present โœ“
Searchโ€”none โœ—
Staleness signalsโ€”present but stale themselves โš ๏ธ

โ“ Open questions for you

Audit by Spark ยท 2026-05-14 ยท ping back with picks