← Series

Building Press
How I built Press, the editorial engine that writes from my work. One boundary of the system per part.
Part 19 minPart 28 minPart 310 minPart 49 minPart 58 minPart 68 min
Building Press, Part 1: Read the work, leave the secrets
Ingesting real work like Slack threads and AI logs risks leaking secrets. Here is how confidentiality at egress is enforced in code, not review.
Building Press, Part 2: The data model is the spine
Collapsing content into one table makes editing unsafe. Learn how a 3-table content pipeline data model with post revisions makes AI edits and retries safe.
Building Press, Part 3: The prompts are data, not code
Prompt changes shouldn't require a deploy. Learn how prompts as config works in practice: runtime resolution, insert-only seeding gotchas, and the real tradeoffs.
Building Press, Part 4: Review is where the human gates the irreversible
AI drafts ship mistakes you can't take back. Human in the loop publishing keeps deterministic gates and you between a draft and a live post.
Building Press, Part 5: A static export that reads a database
Cloudflare Pages ignores s-maxage on HTML, so your static export stays DYNAMIC. Here is how a Cache Rule fixed it and cut TTFB by 40%.
Building Press, Part 6: The datacenter can't post, so the laptop does
Automating social posting from a datacenter IP fails no matter the session. Here's how Press moves the worker to the residential side where credentials are le