Software

Agent Village

A cozy 3D island where the studio's AI agents live as animal villagers. Visit the real village running on example data.

  • Three.js
  • 6 villagers
  • Example data
A wall display in a sunny home office showing Agent Village, a low-poly island with houses, trees and animal villagers

Agent Village is a cozy low-poly island in the browser where the studio’s AI agents, and the machine running them, live as animal villagers. When a model is busy, a test fails or Hermes is answering a message, someone in the village walks over and does it. It runs on the Mac at home and reads only local data. Every picture and number on this page is example data from the built-in mock story.

The village island by day: terraces, a river and waterfall, houses around a clock tower square, villager portraits down the left and the village chat on the right

The whole island at 10:30 on a clear fall morning · mock story

Visit the village

This is the real village running in the page, playing its built-in example story. Drag to turn the island, scroll or pinch to zoom, and click anything. It isn’t connected to the Mac, so nothing here is live.

Run a little village

A flat sketch of the island that follows the same rules as the real one. Send example events, ring the bell or let night fall, and watch where everyone goes. Click a villager to see which rule they’re following.

Six villagers, six jobs

Each villager watches one part of the LLM machine through the local metrics dashboard and has a home building on the island. When their part of the machine is unhappy, so are they.

🦊

Fern

Fox · 🔨 Code Forge

Watches the GPU. Coding sessions show up as Fern at work.

🦝

Rocco

Raccoon · ⚙️ Test Workshop

Watches benchmarks. Test runs and builds land on his bench.

🐻

Bruno

Bear · 🗄️ Data Silo

Watches memory. Keeps a garden behind the Post Office.

🦉

Olive

Owl · 📚 Library

Watches models and disk. Owls nap by day now and then.

🐶

Milo

Dog · ✉️ Post Office

Watches the local model server, and acts out every Hermes conversation.

🐱

Cleo

Cat · 🏨 Studio Hotel

Watches CPU and heat, and runs the hotel’s front desk.

Also around town: vagabonds who turn up to help with each small-model task, eight special guests who arrive by broom, airship, balloon or umbrella, four songbirds at the birdhouse, and TOFU, the little robot.

Daylight, the bell and the lamps

The village keeps its own time. Live mode follows the real clock and weather in a place you choose; drag the time bar to scrub through the day instead.

Villagers at work by daylight

Morning to dusk

At their trade

Idle villagers go about their own trades around the island. Busy ones work inside their building until the task is done.

The island at golden hour while the town dances in the square

Top of the hour, or 🔔

The town dance

The bell in the clock tower rings each hour by day. Everyone who isn’t busy circles up in the square: residents in the inner ring, visitors outside.

The island at night with string lights glowing over the square

After dark

Under the string lights

The lamps come on and the village gathers in the square. Ghosts rise from the cemetery, and some villagers keep working through the night.

Weather and seasons

  • Six kinds of weather: clear, cloudy, rain, storm, fog and snow. In a storm everyone takes shelter.
  • Four seasons recolor the trees and grass. Pick one, or let Live follow the date.

Holidays

  • A holiday calendar changes the bulbs, the sky tint and what people say.
  • Halloween runs all of October: jack-o’-lanterns, capes, bats round the chapel and trick-or-treating in the evenings.

The world

  • Terraces and stairs, a river and waterfall, swaying meadow grass, buildings you can walk into.
  • Back doors and patios: villagers cut through a building to reach what’s behind it.

What’s where

Hovering the Studio Hotel shows a table of client agents: Sample Client A working on Brand refresh, Sample Client B between sessions, Sample Client C checked out

Hover card on the hotel · example guests

Building

Studio Hotel

One room per client, read from the client folders in the Obsidian vault. The client agents never come outside: each one only appears in its window.

Room states

  • Working: the client has active project notes, so they type at a laptop.
  • Idle: no active projects, so they gaze out of the window.
  • Away: a past client. The room is dark.

Keeping it current

  • Only names, statuses and project titles are read. Never contacts, rates or notes.
  • When a Hermes chat mentions a client, that client goes to work at their window until Hermes replies.
  • The hotel re-reads its list every minute.

The Village Gazette: a newspaper page with a headline, Around Town, Visitors and Guests, Machine Report, Overheard and By the Numbers

Today’s edition · mock story

Panel

The Village Gazette

A newspaper written from the day’s journal. Open it from the 📰 button and page back through earlier days.

Sections

  • Around Town: finished tasks and who did them.
  • Machine Report: how the models did.
  • Hermes Builds: recent work from Hermes sessions.
  • Overheard and By the Numbers.

Also in the square

  • The notice board pins high-level news of Hermes’s recent work. Hover it for the latest, click for the list.
  • The clock tower keeps village time and holds the town bell.

The Find TOFU panel with a Ring TOFU button and a Rooms list for naming access points

Find TOFU · no watch connected

Visitor

TOFU, the robot

When the TOFU watch joins the home Wi-Fi, a tofu-block robot with glowing purple eyes rolls in from the island’s edge and acts out what the watch is doing. It rolls off when the watch leaves.

What it does

  • Carries notes to the Post Office and files their titles at the Library.
  • Rolls over to Milo with questions, spins during the dance, naps when the wrist is still.
  • Click it to send a nudge to the wrist.

Find TOFU (📡)

  • Ring TOFU makes the watch chirp at its next check-in.
  • Name each access point’s room once, so “last seen” says where.
  • The village checks for the watch every 15 seconds and counts it gone after 2½ minutes of silence.

Close view of the square: string light poles, the hotel tower and the village chat panel

Close up, with the village chat · mock story

Panel

Village chat and Milo

Everything that happens is written to the chat in the corner. The message box at the bottom talks to Hermes, with Milo as the go-between.

The chat

  • Task starts and finishes, messages, weather changes and arrivals, each with the villager’s portrait.
  • Speech bubbles float over whoever is talking.

Talking to Hermes

  • “Message Milo…” sends your text to Hermes and continues the same conversation as Telegram.
  • Telegram chats show up too: Milo acts out your message, the tools Hermes uses and the reply.

Talking to the village

Anything that can send a little JSON can drive the village: a helper script, a plain HTTP post, or the coding assistant’s own hooks (a coding session shows up as Fern at work). The village server only listens on the studio Mac.

Event What the village does
task_started The villager goes to work at their building.
task_progress Updates how far along they are.
task_done They finish, say so in the chat and go back to idle.
message A speech bubble and a chat line.
status_change Sets idle, working, error or sleeping directly.
building_health Marks a building ok, warn or down.
activity, user_message Hermes’s tool use and your messages, acted out by Milo.
device, tofu The watch arriving, leaving, and what it’s doing.

Starting and poking

15 s between checks for the TOFU watch on the Wi-Fi.

1 min between hotel guest-list refreshes.

Hourly the town bell rings by day.

Desktop app

  • Double-click Agent Village.app. It starts the village and dashboard servers if needed, opens the village in its own window and stops what it started when you quit.

By hand

  • ?source=mock plays the example story, ?source=off shows a quiet island. The default reads live metrics and falls back to the mock story.

Console helpers

village.festival.start() Ring the bell.
village.weather.setMode('rain') Change the weather.
village.seasons.setMode('fall') Change the season.
village.guests.invite('hazel') Fly in a guest.
village.fastForward(600) Skip ahead ten minutes.
Pairs of images made by two local image models from the same prompts, side by side

Image Studio

Local image generation on the studio Mac. Compare Qwen-Image (research roughs) and FLUX schnell (client-safe finals) on six prompts and copy any prompt.

Software
A 3D model of a web page split into four glowing layers, shown on a large screen at the end of a conference room table

Site Pipeline

How a Figma file or a Lexington theme becomes a client site with a Sanity editing studio on Cloudflare's edge. Orbit the page in 3D layers, then try the studio the client gets.

Systems / Client sites
A tablet lying on a pale birch table with a pencil, showing the Contrast Checker grading a terracotta and cream pair at 3.75 to 1

Contrast Checker

Check any text and background colors against WCAG 2.1 AA, the ADA standard. Get the nearest passing color in the same hue, grade a whole palette, and preview it with color blindness.

Tools / Accessibility tool