-
Three icon languages stacked in one list high
Global rows use monochrome lucide line icons. Projects use free-text emoji at a different optical weight and baseline. Boards use lucide again — but tinted with an arbitrary per-board hex. Read top-to-bottom you cross three visual registers in about 400 px. Nothing tells you those registers mean anything, because they don't.
-
Colour is decoration, not information high
board.color is painted straight onto the icon glyph. Eight saturated hues appear inside a navy column with no shared semantic — blue isn't "in progress", rose isn't "at risk". They're just eight competing attention magnets. Meanwhile the one thing that is semantic — which board is a sprint board vs. a kanban board — has no visual expression at all.
-
Boards and views are indistinguishable — except by absence high
Inside an expanded project, "Core Platform" (a board) and "Backlog" (a saved view over the whole project) sit at the same indent, same row height, same font. The only difference is that the board has a coloured icon and the view has nothing at all. So the weaker distinction gets a colour and the stronger one gets a blank.
-
Six sub-rows with no icons whatsoever med
Future Sprint Board, Backlog, All Tickets, Roadmap, Test Cases, Test Cycles, QA Dashboard — all bare text. Once a QA-enabled project is expanded that's a seven-item wall of unscannable labels. The eye has no anchor to jump to; you read every line.
-
Agent Studio alone is nine rows high
AGENT_SIDEBAR_ENTRIES currently yields seven agents; plus "All Agents" and "PRD Generator" that's nine sub-rows. Expanded Reports adds six more. Expanded Configurations adds three. All three auto-open on route match and never auto-close — so visiting one report can permanently push every project below the fold for the rest of the session.
-
PRD Generator has an icon; its seven siblings don't low
A single FileText in an otherwise text-only sub-list. Small on its own, but it's the tell: there is no rule, so exceptions accumulate.
-
The project row is a four-control compound med
Chevron button · emoji · two-line name+key stack · settings cog — roughly 48 px tall, four hit targets, three of which are only occasionally wanted. Twenty projects is 960 px of chrome before a single board is visible. There is no search, no filter, no favourites, no recents.
-
Admin config competes with daily navigation med
Workflow Templates, Admin Management, Application Preferences and Preferences occupy prime vertical space directly above Projects. These are visited monthly. Boards are visited hourly. The layout ranks them equally.
-
A group label and two separators for one external link low
"Apps" wraps a single Specsmith link in ~90 px of chrome — label, row, two separators. Heavy framing for one item, and it sits above Projects.
-
The top bar is 44 px holding two controls — and then the page draws a second one high
The shell header has a sidebar toggle and a bell. Then ProjectBoard renders its own sticky header underneath with the project emoji, name, description, view tabs and Create. Two stacked bars ≈ 117 px of chrome, and the project identity is stated twice — once in the sidebar, once in the page. Nothing tells you which board you're on.
-
Collapsed mode can't navigate med
At 4rem the projects become bare emoji and every board, backlog and roadmap link disappears. Collapsing doesn't give you a compact navigator; it gives you a dead rail you have to un-collapse to use.
-
The palettes are far too small for the catalogue high
CreateProjectDialog.tsx offers eight hardcoded project emoji — 📋 🚀 🦞 🧪 ⚡ 🎯 🔧 💎 — and boardIconCatalog.ts offers thirteen board icons. At twenty products every third one already collides; at fifty, the icon stops carrying any identity at all and becomes decoration. Not pinnable to a row because it's a property of the pickers, not the column.
-
Mobile is the desktop tree in a narrower box high
useIsMobile() flips at 768 px and swaps the sidebar for an 18 rem Sheet drawer — containing exactly the same overloaded tree, complete with the nine-row Agent Studio and the six-row Reports menu. That isn't a mobile design; it's the desktop one, scrolled. With mobile web now a stated requirement this is a first-class defect rather than a nice-to-have.
Sample workspace used throughout
Every mockup in this document is populated with the same fixture — chosen to exercise the awkward cases rather than the easy one.
SDLC · Agentic SDLC — 3 boards (sprint + 2 kanban), roadmap on
PAY · Payments — 2 boards (sprint + kanban), QA on
DS · Design System — 1 board (kanban), nothing else on
SRE · Reliability — 2 boards (kanban), roadmap + QA on