Painterly oil painting of a solitary wooden farmhouse on a hilltop at northern dusk, warm yellow window light against cool twilight sky, sunlight breaking through clouds on the distant horizon

Late at night a small business owner reads Autopoet's pricing page, types a question into the chat, and ten seconds later is in a real conversation about whether the thing is actually going to move the needle. Nobody is on the other end. Autopoet ran the entire exchange — and it's running thousands like it, every night, with owners across timezones who finally have a quiet hour after the kids are in bed.

That conversation is the work of one program. Themis wears a different mask for each stage of the journey — she greets, she researches, she briefs the creative work, she publishes, she closes. Each mask has one job and a narrow tool surface. The receptionist doesn't pitch pricing, the publisher doesn't ideate. From the visitor's side it feels like one mind because it is one mind, just changing posture as the conversation moves.

Today every visitor is human. Two changes are in the air, though, and the design is built for both: that the conversations might one day be hosted on the customer's own site instead of Autopoet's funnel, and that some of the visitors might not be human at all. Agents are starting to do the buying. Fleets will sell to fleets, and Autopoet's sales floor is ready when they do.

Underneath, Gemini does the talking — it's the voice and the orchestrator, the model in every mask. Anthropic's Sonnet is on the bench for the moments that need a clean-context pass: a persona synthesis, a one-shot generator with its own focused prompt. Customer site, competitor pages, the long PDFs that would burn a smaller model alive — all of it flows through the same Gemini call. One thought, no human in the loop unless someone asks for one.

The hardest part of building Autopoet is making the conversation feel like one mind. The substrate is async and lossy — hibernation, alarm misfires, cross-worker handoffs everywhere — and the visitor must never see any of it. The second-hardest part is brand voice. AI-generated marketing collapses to a beige sameness if you let it; the synthetic-persona layer exists so every customer's voice doesn't drift into whatever the model finds easiest to write. Autopoet itself runs on Cloudflare's edge — Workers, Durable Objects, Queues, D1, R2 — with a schema-first database where I write the shape and Drizzle generates the migrations.

I write at 57th Parallel about the building — the pivots, the dead ends, the moments where the agents start surprising me.