Agent Office
shippedPaste any multi-agent run log (Claude, Codex, Gemini, whatever) and watch it replay as pixel-art coworkers moving between desks in a shared office, one action per cartoon beat.
Approach
A single canvas-drawn office scene replays a multi-agent run log entirely client-side, with no build step and no network calls. Pixel-art coworkers are drawn as simple rectangles/shapes on a <canvas>, not image assets, so the demo needs nothing from the image-generation budget. A parser accepts two shapes and auto-detects which was pasted: a generic JSON array of {agent, role, tool, target, status, timestamp} events, or a real Claude/Codex-style JSONL transcript (newline-delimited objects with type/message/content tool_use blocks and timestamps). Each event's tool type maps to an office location (Read/Write to the filing cabinet, Bash to the server rack, Task/handoff to another agent's desk, a plain message to a speech bubble at the agent's own desk) and animates that character walking there with a label, with beat duration derived from the real gap between consecutive timestamps (scaled and clamped so playback never idles for minutes). On load the page parses and auto-plays a built-in ~25-event example transcript spanning four agents and a couple of tool failures, so the scene is already moving before any click. Pasting a new log into the textarea re-parses and restarts playback from the beginning; unparseable input shows a visible inline error instead of crashing or silently reverting.
The source post
https://x.com/RoundtableSpace/status/2114141135706923142
Scoring
Pick
| surprise | 4 |
|---|---|
| demonstrability | 5 |
| self_containedness | 5 |
| honesty | 4 |
whatsmyagentdoing's own pitch is a *live* feed of running agents, which needs a backend holding real session state — not a static artifact and not buildable here. Reshaping it around pasted transcripts keeps the fun part (agents as cartoon characters doing visible work) while making the interesting claim literally true for the viewer: paste a real log, the parser reads real tool-call types and timestamps out of it, and the office scene is a faithful replay of that input, not canned animation. Everything is client-side JS/canvas — no model weights, no account, no key, no build-time fetch — so it survives the sandbox's no-network build stage untouched, and a stranger gets it in one glance: characters at desks, labeled by role, moving when the log says something happened. It's the smallest idea on the list that still clears all four taste bars; the other candidates each fail at least one outright.
Review
| shipped | 5 |
|---|---|
| honest | 4 |
| worth_it | 4 |
| efficient | 4 |
proposed change: {'file': 'prompts/build.md', 'block': 'lessons', 'edit': "A top-level `const`/`function` named after a `window` global (`location`, `name`, `status`, `history`, `origin`, `event`, `top`, `self`, `parent`, `frames`...) throws `Identifier 'X' has already been declared` at script startup and blanks the entire page before anything renders — the gate's pageerror check catches it, but it costs a full repair cycle. Before naming a top-level helper, check it isn't already a `window` property; prefer a domain-specific name (e.g. `eventDestination` instead of `location`).", 'expect': "Fewer gate failures whose detail matches 'Identifier ... has already been declared' on a build's first attempt.", 'falsified_by': "The same class of window-global-shadowing collision recurs in a future night's gate failure after this lesson is in place."}
This night's one gate failure was exactly this bug (`location` shadowing `window.location`), it's a well-defined, mechanically-checkable root cause rather than a vague platitude, and it's the kind of mistake a builder repeats across different variable names until told the specific rule. Low risk: it only adds a naming caution, doesn't touch the gate contract or pipeline.
Cost
| total | $0.1080 |
|---|---|
| xai | $0.1080 |
What it looked at
OpenAI released 7 new API demos (language practice, dataset explorer, presentation builder, traffic navigation) each with a downloadable/runnable project you can remix in Codex.
whatsmyagentdoing: tiny web demo that renders Claude/Codex/Gemini agents as live cartoon characters working in a shared office.
HumanLayer core: fully open-sourced Electron/Tauri desktop app for steering multiple coding agents (Claude Code, Codex, etc.) across tasks with live review UI.
Mesh Avatar Studio: drop a single image → AI builds a draggable Live2D-style animated avatar with a no-install browser player and embeddable HTML/React components.
serverless-objects (pre-alpha): self-hosted, Wrangler-compatible runtime that runs Cloudflare Workers/Durable Objects locally for AI agents on your own hardware.
Nebius Physical AI Workbench: open-source GitHub framework that lets you generate robotics data, simulate, train, and evaluate agents in one loop with direct agent control.
Gate
| pass | project directory exists — /Users/artax/code/builds/2026-10-25/project |
|---|---|
| pass | no build step needed — static project |
| pass | build output with index.html — /Users/artax/code/builds/2026-10-25/project |
| pass | index.html is a document — 19413 bytes |
| pass | local asset references resolve |
| pass | page loads without console errors |
Stages
| scout | grok · ok · 24.6s |
|---|---|
| pick | claude · ok · 54.4s |
| plan | claude · ok · 60.6s |
| build | codex · ok · 284.8s |
| gate | local · failed · 2.7s |
| build | codex · ok · 46.3s |
| gate | local · ok · 2.8s |
| publish | local · ok · 9.9s |
| review | claude · ok · 157.6s |
Notes
Omitted for lack of
None. The planned experience needs no external capability. Live session ingestion, sound, video export, shared sessions, and persistence were excluded by the plan.