Personal HQ · dashboard.thomaspeng.ca · 8 August 2026
Pick one and I will build it. Nothing below is code yet — these are Higgsfield renders used only to lock a look. Every word inside them is invented, so judge the light, the type and the material, and ignore the text.
It answers exactly one question: what needs me today. Everything else on it is either evidence for that answer or clutter, and right now the page does not take a position on which is which.
The TODAY rail — the actual answer — occupies roughly a tenth of the height and sits above a very long tail. Below it: twenty-two projects grouped into seven status sections, a raw dump of recent Claude prompts, and an automation panel whose single largest element is a column of about sixty grey UNCHECKED chips. Those chips are a fact about the monitor — it could not find a log file — rendered at the same visual weight as the things that are on fire.
| Measured | Now |
|---|---|
| Page height, desktop 1280px | 4,943px — 5.5 screens |
| Page height, phone 390px | 7,331px — 8.7 screens |
| Real opens, 11 retained days | 82 across ten days (1–20/day), plus one 453-hit day that was a tab left open |
| Share from an iPhone | 123 of 535 requests — mobile is not hypothetical |
Opens measured from /var/log/caddy/dashboard.access.log, excluding the page’s own background refreshes and keeping only real browser navigations.
A dark airport departures board: near-black ground, condensed caps, monospace body, phosphor status lamps. It is internally consistent and it is not what you want.
Direction 01 · light · recommended
A newspaper front page. Warm ivory stock, a high-contrast didone masthead over a double rule, one enormous lead numeral set as a pull-quote, and narrow columns of small grotesque type divided by hairline rules. A single oxblood red, spent only once, on the thing that is actually urgent.
This is the only direction whose structure already solves the problem. A front page exists to rank many items of unequal importance on one surface and still leave you in no doubt what the lead story is. That is precisely what this dashboard has to do: one answer to “what needs me today”, with everything else demoted to evidence. The others are skins. This one is an argument.
Where it breaks: display serifs get fragile at small sizes on a phone, so the mobile view has to switch to the grotesque earlier than looks natural. It also goes precious fast if the copy is not tight.
Cost to build: Medium — two typefaces, a strict column grid, a hairline rule system. No new component types. Roughly a day and a half.
Direction 02 · light
Pure white, a strict visible grid, black neutral grotesque with exactly one signal red. Enormous deliberate whitespace at the top, then dense tables with perfect optical alignment. Müller-Brockmann discipline applied to software.
This is the direction that handles volume best. Seventy-two automation jobs and twenty-two projects are its native form rather than a compromise, and reserving red for one meaning makes an alarm genuinely unmissable.
Where it breaks: it is cold. The render reads as a corporate finance report, and there is nothing personal about it. If that is a feature for you, this is the strongest pick after the broadsheet.
Cost to build: Low — one typeface, no shadows, no radii, no gradients. Fastest to build and hardest to get subtly wrong. About a day.
Direction 03 · light
Cream and oatmeal paper, letterpress-debossed headings, index-card panels with deckled edges, a rubber-stamped date in faded red, typewriter monospace for data. Muted olive, rust and ink.
The warmest and most personal of the seven, and the least like anything else you run.
Where it breaks: and this is a real objection, not a caveat. This page’s job is signalling alarm, and an alarm needs a saturated, unambiguous colour. This palette is muted by construction — the loudest thing it can say is a faded stamp. Paper texture behind sixty rows also stops being tactile and starts being noise. Beautiful; arguably wrong for the job.
Cost to build: High — texture assets, card treatments, a third class of typeface. Around two and a half days, plus the signalling risk above.
Direction 04 · light · the safe one
Soft near-white, frosted glass panels with real depth, a violet-to-coral gradient accent, large friendly numerals.
Included so you can reject it deliberately rather than by omission. Given a free hand, the model produced a near-exact Stripe clone — sidebar, metric cards, “Good morning, Ava”, an upsell banner. That is the tell. This is what a dashboard looks like when nobody decides anything. The craft is high and the result is forgettable.
Cost to build: Medium — the glass and elevation system is fiddly to tune and expensive to render on a phone.
Direction 05 · saturated
A single field of electric cobalt, oversized condensed type running past the frame, acid yellow and black used as graphic weight rather than decoration, deliberate asymmetry and overlap.
Its alert language is the best of the seven. “THRESHOLD EXCEEDED” in a hard yellow box is exactly the register a flapping cron job deserves, and nothing on this page can be politely ignored. Worth stealing even if you pick another direction.
Where it breaks: it is exhausting across sixty rows, and the diagonal overlap in the render would not survive contact with real variable-length data — that composition works because the text was invented to fit it.
Cost to build: High — an extreme type scale needs a variable condensed face and careful overflow handling. About two days.
Direction 06 · dark
Midnight indigo with a slow aurora bloom, glassy cards edged in fine gold hairlines, an elegant serif for headings, emerald and amber as jewel points.
The one dark direction, and emphatically not a departures board — warm gold and high-contrast serif instead of phosphor-green terminal. If the current design’s problem was that it felt like infrastructure rather than something of yours, this fixes that without giving up the dark.
Where it breaks: the illustrated hero is doing most of the work here and it does not survive onto a data page. Strip it and what remains is a competent dark card system — less distinctive than this render makes it look.
Cost to build: Medium-high — gradient bloom background, glass cards, a gold hairline system. About two days.
Direction 07 · light · the startling one
Uncoated newsprint ivory, two-colour risograph in fluorescent pink and deep teal, visible misregistration and ink mottle, coarse halftone fills, hand-numbered sections.
This is the one that startles. The two-ink constraint is a genuine design system rather than a texture: with only two colours available, every element has to earn its emphasis, which is exactly the discipline this page has been missing.
Where it breaks: fluorescent pink is legible as an alarm but tonally jokey — hard to take a failing production cron seriously in it. And misregistration is charming once and irritating daily.
Cost to build: High — halftone and mottle need generated texture assets and careful layering. Around two and a half days.
Direction 01 is the pick. Every other direction is a surface applied to the existing layout; the broadsheet is the only one that brings its own answer to the actual problem — how to put one dominant conclusion and a long tail of supporting detail on a single page without the tail drowning the conclusion. Newspapers have been solving that for two centuries. It is also light, which is what you asked for.
Where it is thin is density: sixty automation rows do not want to be a newspaper column. So I would borrow Direction 02’s table rigour for those regions — same paper, same ink, but flush-left tabular alignment and one reserved signal colour where the data gets dense. And I would steal Direction 05’s alert register for failures specifically: a hard block that cannot be politely scrolled past.
If you want the opposite of precious, pick 02 on its own. If you want to be surprised every time you open it, pick 07 and accept that a production alarm will be fluorescent pink.
Real design tokens first — colour, type scale, spacing scale, radii, elevation — then every component rebuilt to inherit them. The current code styles everything with inline objects over seven CSS variables, which is why it drifts.
Four things do not change, whichever you pick: the honesty affordances (evidence vs. assertion, blind-spot warnings, flapping jobs counted out of “OK”, unchecked never shown as healthy), reduced-motion support with no status hidden behind an animation, the auth gate, and a green test suite.