How this site was built
One session with Claude Code on 2026-09-04, from a blank folder to this page. The brief was the one I gave myself on Tuesday: I write the message first, then build the thing that sends it.
So the home page is three cold emails to whoever is hiring, and the system that would send each one sits under it, with live probes instead of decoration.
The agent wrote the scaffold, the components, the scripts and the deploy runbook, and I let it. The copy is where I slowed it down. Every number on the site was checked against the file it came from before it went live.
The commits, read out of git
12 commits, 09:46 to 13:46 on 2026-09-04. This table is generated by scripts/build-log.mjs at build time, so the times are the ones git recorded rather than ones I typed.
09:46AlphaForge P11: erik.heyagentic.ai portfolio site (Astro, cold-email thread with receipts) 36e2ecbc
09:47erik-site: receipts.json probed against the content commit 5f45df1d
09:48AlphaForge P11: plan, post draft, Loom script, verification screenshots; domain attach uses the one-arg form 88f84fd0
09:51erik-site: deploy script gets a --raw passthrough; token on argv only 38cfd60d
10:12erik-site: drop the design-hook cache from the tree, ignore it aa45ba1b
10:19erik-site: deploy guard (clean content + receipts/lint gate before upload), portable Playwright lookup, pagination cap warning 673c3605
10:25erik-site: deploy guard also watches src/content.config.ts 556dea3b
11:14tidy 2026-09-08: rescue 48 files stranded on three branches whose sessions reported shipped (#2044) 52964bc8
12:01ci: build erik-site on every PR that touches it (#2046) 196c7485
09:21repo-audit 9/9: doc corrections from the safe batch c57b9f24
13:39audit items 7, 10, 11, 12: receipts refuse unpushed shas, CI scan gains four vendor prefixes, PROJECT_STATUS claim retired, redirect finding corrected 974eb560
13:46receipts guard scoped to the deploy path, CI prefixes anchored (review notes) ad7aaac7
The receipts on this page name commit c890f6b3,. If that hash is missing from the table above, that is correct, and it is the one place this site cannot close its own loop. A commit cannot contain its own hash, so the log is always written one step before the commit that carries it. Everything else here is generated after the fact and can be checked.
Something you can actually run
Everything else here is a record of work that already happened. This one is live: put a domain into heyagentic.ai/forge and it researches the company and writes the cold email that company should be getting. I never clicked a node of it together.
Four weeks in Clay, read back through its API
The bonus prompt asked for an artifact that reads existing Clay tables. This panel is that artifact: a read-only pass over the workspace through the Clay CLI at build time, saved as a file and rendered here. No Clay key touches this page.
14
tables built since 2026-07-20
14
cohort audiences
15,132
company records live
38,208
credits left on 2026-09-04
428 tables in the workspace overall; the 14 below are the ones from the cohort.
07-27AlphaForge Foundations - (FETE)
08-14Champion Job Signal
08-16suppression-master-seed
08-16incoming-20
08-16Job change Events from Job Signal table
08-16Job change Events from AlphaForge Foundations - (FETE) (16 August 2026)
08-19watchlist-30
08-19Job posting Events from watchlist-30 (19 August 2026)
08-19News & fundraising Events from watchlist-30 (19 August 2026)
08-20Headcount Run History
08-20Headcount Change Signals
08-23Copy of Custom Table
08-23Guesser Proof 36
08-24clay-import-50
4,047S1 Scaling software teams (50-500, sales>=3)
1,504S2 Mid-market sales orgs (200-2000, sales>=10)
1,194S3 Outbound & lead-gen agencies (10-500, sales>=2)
1,049AlphaForge recut - Someone else owns their diners
990AlphaForge P8 - S1 Displacement
982AlphaForge P8 - S3 POS-adjacent
652AlphaForge recut - Paying, not using it
360AlphaForge P8 - S2 Renting
359AlphaForge recut - No channel of their own
255AlphaForge recut - Transacting but silent
39AlphaForge P9 - Slice 18 (drafted, not sent)
18S1 HOT: hiring GTM/sales roles now (sync to CRM)
17AlphaForge recut - Unmeasured
0AlphaForge P7: Owner.com TAM (qualified)
Method: clay CLI, read-only: tables list --limit 100 (paged on cursor), audiences list --entity-type companies, audiences records search-count per audience, credits, whoami. Snapshot taken 2026-09-04T13:38:33Z.
Back to the thread