harness · pulse · philosophy

The page is what Lem sees.

Most operational dashboards are dumb pipes: a polling loop, a chart library, and the assumption that more pixels equal more insight. Pulse is the opposite shape. There is a small agent on my workstation who already watches the system, structures what he finds, and writes it down. The dashboard's only job is to render his most recent reading like a journal page. The work was already done; the UI is just listening.

Four layers, one direction

Observation

Lem

A Python service running under systemd. Wakes every ~30 seconds, probes the harness, and writes a structured tick — measured (numeric signals), decided (sentences about what to track next), surfaces (the topics he's watching this window), and observed (one-line roll-ups). Authority gradient: green observes, yellow proposes, red escalates with a high-urgency notification. He never modifies what he watches.

Rendering

The pulse page

Reads Lem's most recent tick log. Does almost nothing else. Composes a one-sentence lede in plain English, lays out tiles for memory, services, Lem himself, hydration, work inventory, and recent session-ends. Each tile carries its own confidence reading. The page can re-probe directly if Lem is sleeping, but the default move is to listen, not ask.

Design vision

The render-and-critique loop

Every visual decision passed through a multimodal feedback loop: render → screenshot → critique typography, density, hierarchy → patch → render again. The aesthetic — warm cream paper, serif lede, all-caps mono marginalia, an olive-moss accent used three times max — was locked after vision-loop iterations on a moodboard, then refined again after v0.2 went live. No theming framework. No template. Just looking, hard.

Direction

The operator

The brief, the aesthetic call, the ship decision — those are mine. The principle that runs through every layer is the same: truth over performance. The page exposes its own confidence values. The agent declares the surfaces he's watching. The design refuses chart junk. When something is wrong, the page says so in the same plain sentence it uses when everything is right.

Why this architecture matters

Most "AI dashboards" don't have an actual agent in the loop. They have a polling backend pretending to be one. Pulse is the inverse: a real local agent — running on real hardware in my office, with real authority to escalate — produces the data, and the page is a quiet vessel for what he sees. Move the agent and the page goes dark. Move the page and the agent keeps watching.

This is what makes the page distinctive as a portfolio piece. It is not a mock. It is not a screenshot of someone else's dashboard with my logo on it. It is a real artifact from a real working system, rendered with care. The serif headline, the tabular numerals, the dashed dividers, the confidence values exposed in the UI — all of those choices say the same thing the architecture says. A careful person made this. They are willing to be checked.

What's next

The live version reads Lem's tick directly via a sandboxed bridge inside Cowork; that path stays private. The public version on this page is a faithful static snapshot from Wednesday afternoon, May 6, 2026. Future shapes: a 7-day sparkline, a "today vs. yesterday" diff overlay, a moss- green editorial mode for longer ledes when the day deserves prose. The template is open for reuse — see the repos.

← Back to the live demo