Where Agent Dashboard came from
January 2026 was the vibe-coding phase. I'd write a prompt and watch something come out. It was thrilling and unreliable in equal measure — about 60% of what landed was usable; the rest needed a second pass that explained what I actually wanted in slower words.
The first correction was scale. Vibe coding works for a sketch. It does not work for a multi-screen app where the third screen depends on a contract the first two implied. I started writing PRDs, implementation plans, and spec files before code. The My Next family of mobile apps was built that way: a long PRD per app, broken into phases, each phase tracked in a checklist.
That worked. The downside was the size of the documents. A PRD covering an entire mobile app got long enough that I couldn't review it in one sitting, and any course-adjustment — adding a feature, dropping one, reordering the build — triggered a rewrite of half the spec. The PRD was supposed to be the artefact that let me move fast; it had become the artefact slowing me down.
The reframe was scope. Instead of one PRD per product, I wrote a vision.md — the north star, what the product is and isn't, who it's for — and a backlog that I could add to and reorder freely. Each backlog item became its own small PRD, scoped tight enough to read in one sitting and small enough to throw away if review turned up something I didn't want to ship.
That made every increment a loop: pick a backlog item, write the PRD, get review, run execution, merge, learn, repeat. The loop was the same shape every time. Anything that's the same shape every time is a candidate for automation.
The first version of Agent Dashboard was a web app. It coordinated the review and execution rounds for one project at a time, with the agents — pm, brand, architect, security, qa, marketing, ux on review; frontend_dev, backend_dev, devops, qa on execution — wired in as separate Claude Code processes. Välkomna was the first project run through it. Watching the dashboard move a PRD through preparation, design, and execution rounds without me hand-launching each agent was the moment the loop stopped being a metaphor and started being a tool.
Tab management broke first. By the third project the browser had a tab per project, a tab per agent, and a tab per round, and I lost more time switching between them than the dashboard saved. I asked Claude to package the whole thing as an Electron app. That landed as a desktop binary with a project switcher, a single window that holds the workflow view, and persistent state across launches.
The Electron version has been through more revisions than I'd like to count. The current shape — project switcher, dev workflow with a workflow overview on the left and the active agent on the right, ops and marketing tabs, a coming-soon support tab — is the third or fourth structural pass. None of those passes was driven by a redesign brief. Each one was driven by something I couldn't find when I needed it.
I'm writing this from inside the dashboard. The PRD that produced this Journal entry is PRD-009 in the studio repo; the dashboard ran the review rounds and the execution rounds against it. The same loop that produced the apps now writes about producing the apps. That feels like the right shape.