Everything made for the talk, gathered in one place: the deck, the system designs it was built on, an interactive tour, and a self-portrait of the machine that runs it all.
Design 01 · How I modeled it, and the principle underneath
Model it first, and give every part its own concern.
Chat client → backend server → message relay → Claude Code backend.Design 02 · Claude Code's channels (beta)
The relay-shim uses a channel to talk to a running session, both directions.
Same channel, both directions. relayd bridges the chat client on each end.Design 03 · The first implementation
relayd — day one.
A Telegram router for a Claude Code backend: a commands gate, a budget/rate gate, and nothing else yet.Design 04 · The first authentication layer
Nothing reaches the model until it's approved or denied.
Every message is gated at the relay before the model sees anything.Design 05 · Giving it a little agency
I was missing a way for the model to act on its own.
I schedule events and one-off tasks. The model can also schedule itself.Design 06 · The machine, its senses, and a nervous system
I looped our alerts back to the model, so that it can heal itself.
Grafana alerts through the relay become something like a nervous system. The model can self-heal.Design 07 · The whole system, now
A persistent Claude Code session running on its own computer.
Chat in through relayd; one session at the center; scheduler, observability, k3s and sensors around it; everything behind one Tailscale egress.
The Self-Portrait
Rodin, a thinking machine, as it perceives itself.
Source & Working Docs
data-salon.md — Jean's talk script (source of truth) talk-mission-statement.md — the one-idea spine the deck was cut against voice-language-guide.md — the writing/voice rules data-salon-slides-audit.md — extract of every slide's text for hand-editing deck-checkpoints/ — 13 saved versions (v1 … v13) All under ~/vessel-log/jean-workspace/.