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
8 commits, 09:46 to 10:44 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
10:44AlphaForge P11: interactive browser QA pass, 10 findings ranked 51936b9d
Commit named in this page's receipts: 072f8e86,.
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