How This Was Built

A practical case study in human-directed AI work: Hal set direction, taste, risk posture, and corrections; Codex executed, searched, coded, deployed, verified, and documented.

Based on the copied Markdown transcript and repo history. The raw transcript is intentionally not stored in the public repo.

Not A Swarm

This was not a "tell an AI swarm to go build something and never touch it" project. The useful product came from repeated human judgment: where it should live, what should be private, what felt hard to read, which architecture was simpler, and when the output needed another pass.

Very Much AI-Assisted

Codex handled the implementation grind: extracting data, creating pages, wiring Cloudflare, building a Resend path, writing skills, running smoke tests, checking noindex headers, and cleaning the public Git history.

Human Direction Moments

Source Material
"How many posts start with \"Career Hack\" - I want to extract all of those posts."

The work began with a raw LinkedIn HTML paste. Codex counted entries, separated loaded posts from placeholders, and extracted the initial Career Hack set.

Scope Correction
"Nono I don't want this on /career-hacks on the main domain. Can you please undo that?"

This changed the architecture before production. The project moved to an isolated Cloudflare Pages app on `wisdom.candidleap.com/allan`.

Search Privacy
"Can you make sure this subdomain is noindexed?"

The site got both page-level robots tags and response-level `X-Robots-Tag` headers, then those headers were verified live.

Completeness
"Are you able to use the method of using Google Search as a search engine for twitter or linkedin to unearth more cards?"

Codex searched public Google results, LinkedIn pages, and X sources, expanded the collection, and documented what public search can and cannot prove.

Readability
"This is hard to read."

The page moved from oversized quote cards to a calmer timeline with filters, tags, source badges, and better card rhythm.

Product Shape
"Use linkedin and X logos. Let's go with the timeline view."

That pushed the interface toward the current timeline-first reading experience with branded source buttons.

Architecture
"Why even store in D1 and not just go straight to Resend?"

The subscriber design simplified. Cloudflare handles the form and function; Resend stores contacts and unsubscribe state.

AI Workflow
"Ask Allan questions in Claude, Codex, ChatGPT, or in your LLM."

The page gained an Ask Allan workflow and the repo gained a public single-file skill that reads the hosted quote bank.

Public Hygiene
"Make sure it does not expose any private stuff that I do not want people to see."

Codex audited the repo, avoided committing the raw transcript, removed personal defaults, and collapsed public history into a clean snapshot.

Polish
"can we improve the design of the nav bar across the pages?"

The final pass unified nav styling, fixed mobile behavior, and moved the hidden next-steps shortcut to the bottom of the page.

What Was Human Judgment

  • Choosing a separate subdomain instead of touching the main site.
  • Deciding noindex mattered for the whole subdomain.
  • Calling out when the design was hard to read.
  • Choosing timeline view, topic filters, and source logos.
  • Questioning D1 and simplifying toward Resend.
  • Insisting the public repo expose no private information.
  • Framing the story as human-directed AI, not autopilot.

What Was AI Execution

  • Parsed the source paste and extracted Career Hack posts.
  • Searched public LinkedIn, Google, and X sources for missing cards.
  • Built static pages, functions, quote banks, and skills.
  • Created and deployed the Cloudflare Pages project.
  • Verified DNS, noindex headers, page counts, scripts, screenshots, and API behavior.
  • Committed, pushed, deployed, and cleaned public Git history.

The Correction Loop

The project kept improving because visible output kept meeting human taste. A proposed main-domain route was stopped. The quote cards were redesigned. The most-recent card was made lighter, moved, then removed. Signup copy was rewritten. The corn shortcut stopped floating after it overlapped mobile content.

Safety Choices

The raw transcript stayed private. The public repo was audited for secrets. Cloudflare secrets are referenced by name only. Subscriber PII goes to Resend rather than a local public repo or D1 table. The subdomain remains noindexed.

Artifacts

Future Pattern

At the start of future projects, ask Codex to maintain a cleaned build journal as it works:

Keep a running build journal in docs/build-journal.md. Log major user instructions, decisions, AI actions, verification, and open questions. Do not include secrets or raw credentials.

🌽