Thinking
Audit retrieval before trusting an answer
A practical protocol for checking corpus coverage, retrieval quality, and whether source records support an answer.
Growth gates before growth work
Sequence growth on a side project by gates you can pass, not dates you can miss: measure, get indexed, check demand, take one real payment, then build.
Keep your notes in the repo
For a personal digital garden, markdown in git beats a database. The vault is the source of truth, git is the history, and static output is the fastest thing you can serve.
One live region per page
A status message in a shared footer turned every page into a page with two live regions. Render live regions only when they have something to say.
Static routes on serverless workers
A route handler that reads the filesystem at request time will build fine and fail in production on edge workers. Prerender it.
Choose UI component ownership
A practical checklist for deciding where a UI component should live and who maintains it
Tell it as a place
A field guide to a site that tells your story instead of listing it: find the spine, build the world in Blender and FLORA, then hand the playhead to the reader’s scroll. Every technique it teaches, it performs.
A computed verdict can still be wrong
hop.flights' whole pitch is a verdict that's computed, not guessed. For any search with more than one passenger, it was computing that verdict from two numbers that didn't describe the same trip.
A knowledge base becomes a graph once something else can query it
PARA and Zettelkasten pushed back on hierarchy for a human reader. The graph shape only starts to matter once an agent can traverse it multiple hops and audit what it finds.
A standing team with named desks
A desk on an org chart isn't real until it has a trigger, a boundary, and a timestamp. Click through four generic desks and see what each one actually shipped last.
Agents are an org design problem
A standing team of coding agents, each with a named desk and a real schedule. One boundary has never moved, no matter how good the model got.
AI should be present without being summoned
The chat box makes you stop and decide what to ask. An ambient layer reads the room instead.
Automation is arbitration plumbing
A sensor reports, a hub decides, an actuator acts. From inside the house, each of those three roles fails silently in its own way.
Compound engineering applied to a personal site
Five real pull requests from this site's own git history (a build, a review, a three-line fix, an extraction, and a compliance rule) show what compounding actually looks like when a fix from one PR gets applied automatically three PRs later without anyone repeating the instruction.
How this backlog got built
Twenty Thinking pieces, built by parallel agents in isolated worktrees and merged through one shared registry file, including the batch that got built twice and the draft that almost named a competitor's model by brand.
Kroots: mapping a graph nobody else could see
A one-person kids'-media venture with no team still needed an org chart, so a single map-of-content page (four clusters of working documents around one hub) had to do the job instead. Trace the clusters back to the hub.
Live artifacts are three different architectures
A sandboxed page with a versioned link, a full dev environment in a browser tab, and real production component code all get called the same thing, and each trades control against containment differently.
Memory is the toll booth
Prefill runs once, in parallel. Every token after that is its own round trip to memory to reload the model's weights and KV cache, which is why decode speed lives or dies on memory bandwidth.
The machine that runs my todo list while I sleep
A headless Mac Mini, a cron job every fifteen minutes, and a timeline of what it actually did.
The PDF gotcha that cost an afternoon
A hairline rule in a table looked wrong by 10 to 25 points, only on rows after a letterspaced date chip. The bug wasn't in the alignment math; it was in a PDF operator that survives past where you'd expect it to end. Drag the slider to leak it yourself.
The toll-free verification maze
Twilio rejected the same toll-free application twice, for two different fields, before it explained why. The map of that maze, built one collision at a time.
Trust is a runtime property
A policy that says harmful content never surfaces without review is enforced by a latency number, not by the document that states it. Drag the slider.
TypeScript at the edge
Cloudflare Workers run TypeScript inside V8 isolates instead of VMs or containers: sub-millisecond starts, no cold-start boot cost, and a stack built around that same disposable unit of compute.
What "autonomous" actually means in production
Click through what an agent can take back and what it can’t: the two lists have almost nothing in common, and that gap is the entire job of designing one.