‹ back to writing
May 4, 2026·7 min read
buildsopen-sourceagents

Weekend Agent v2 — the build.

An open-source scaffold for shipping a real Browserbase + Claude Code agent on a cron, in under 4 hours. Here's how it works, and why it's the smallest useful artifact in agent-land.

The first version of Weekend Agent took me a Saturday. The second took two.

The difference between v1 and v2 is small but important: v1 was a script that worked. v2 is a scaffold that survives the second person who clones it. The kind of repo where you can git clone, change a config file, and have an agent running on a cron within four hours — without needing to know how the inner loop is wired.

step 1 of 6
+00s
  1. +00s
    form firedlead webhook · enrichment · timezone check
  2. +02s
    dial decisionscore ≥ threshold · dedupe pass · ok to call
  3. +04s
    agent dialingpstn out · ringing · ElevenLabs voice loaded
  4. +18s
    qualifying4-question branched script · function-calls live
  5. +90s
    bookingcalendar.create · invite sent · slack ping
  6. +108s
    dispositionsummary · transcript · crm writeback complete
// git clone → first cron run · live trace · happy path under four hours

That distinction — script vs scaffold — turns out to matter way more than the actual agent inside.

What it does

The scaffold gives you:

A new agent starts as a 60-line config file. Add new tools by dropping .ts files into tools/. The runtime auto-discovers them.

The five decisions that mattered

  1. Cron-first, not chat-first. Most production agents I ship are scheduled, not conversational. v2 makes scheduled the default and conversational the opt-in.

  2. Browserbase, not local Chrome. Headless Chrome on your laptop is a research tool. Browserbase is a production tool. The difference is reliability across model versions, which matters more than people expect.

  3. Tools as files, not as code. I used to write tool definitions as JS objects inside the agent file. v2 puts every tool in its own .ts file with a default export. Diffing a tool change becomes trivial. Reviewing PRs becomes pleasant.

  4. Evals from minute one. The init script creates an evals/ directory with one passing case and one failing case, so you immediately have a habit of adding to it instead of writing the suite later (you won't).

  5. Dashboards over logs. Even for one-person projects. The cost of a /admin page is small. The cost of debugging "what did the agent do yesterday morning" without one is huge.

Time to first cron run · v1 vs v2 · same operator
  • v2 · scaffolded
    0h
  • v1 · scripted from scratch
    0h
  • no scaffold · prior baseline
    0h
// The scaffold removes ~85% of the wall-clock between 'I have an idea' and 'something is running on a cron without me.'

What I'd change

The next version is going to do two things differently:

The repo is open. Fork it, change agent.config.ts, set your env vars, and run pnpm dev. If you ship something with it I'd love to hear about it.

Related essays
More essays

Owned, undistributed, and published only here — no newsletter, no funnel, no upsell.

All essays ›
‹ all essays

Let's build
something joyful.

Agents · Engineering · Talks · Podcasts · Interviews · Automations.