Interactive explainers
Each page teaches one idea you can play with. See something wrong? Pin a note on it.
The truth-seeking series
Ways we fool ourselves, and how to catch it.
Bayes & base rates
You tested positive. How worried should you be? Count 1,000 people and see why a 90% accurate test doesn't mean a 90% chance you're sick.
Open the explainer →Where would you armor the bomber?
Abraham Wald's bomber problem as a puzzle. Place armor on the damage map, then see why the holes you can see are the ones that don't matter.
Open the explainer →Why customers lie in interviews
Five interview questions that get you polite lies, and what to ask instead. Based on Rob Fitzpatrick's The Mom Test: ask about their life instead of your idea.
Open the explainer →Try to kill your startup idea
A template that makes you do the killing. Score each assumption by how bad it would be if wrong and how little proof you have, then test the riskiest first.
Open the explainer →When everyone pretends to agree
A crowd simulator based on Granovetter and Kuran. Watch a belief that everyone privately rejects survive, because everyone waits for someone else to speak first.
Open the explainer →The distribution series
How to get noticed before anyone follows you.
Seven ways to get seen without followers
Seven ways to get a product seen without an audience, from Melvin Luu's essay: MCP servers, AI answer engines, free tools, programmatic SEO, shareable artifacts, buying a newsletter and affiliates.
Open the explainer →The complex systems series
Small models where simple rules lead to results nobody wanted.
How a city splits up when nobody wants it to
Schelling's segregation model. Everyone is happy to live as a minority on their block, and the city still splits up. Move one slider and find the tipping point.
Open the explainer →A fair game that ends with a few people owning everything
The yard-sale model of wealth. 100 households make fair coin-flip trades, and a few end up owning everything every time. Turn on a 2% tax and a middle class appears.
Open the explainer →One-evening builds
Plans for small apps you can build with an AI agent in an evening, prompts included.
Build a link-in-bio page
One evening with your AI agent. A single-file plan, four prompts that change as you pick features, and the mistakes agents tend to make.
Open the explainer →Build a habit tracker
Build a habit tracker with your AI agent. A single-file plan that saves to the browser, step-by-step prompts, and a fix for the midnight time zone bug before your agent writes it.
Open the explainer →Build a waitlist page
Build a waitlist page with your AI agent in an evening. The promise, proof and ask above the fold, a form backend you don't have to build, step-by-step prompts, and a stranger test for your pitch.
Open the explainer →Build an invoice generator
Build an invoice generator with your AI agent in one evening. One file, no signup, money stored in whole cents, the browser's print to PDF, and the rounding and print-layout mistakes agents make.
Open the explainer →Build an expense splitter
Build an expense splitter with your AI agent. One file that settles up in the fewest payments, keeps money in whole cents, and avoids the lost-cent and who-was-there bugs.
Open the explainer →Build a pomodoro timer
Build a pomodoro timer that keeps time, with your AI agent. One file that counts down to a fixed end time, keeps going in a background tab, and asks before it makes a sound.
Open the explainer →Build a flashcards app
Build a flashcards app with your AI agent. Spaced repetition with Leitner boxes in one file, paste-in decks, keyboard review, saved progress, and the mistakes agents make, marked.
Open the explainer →Build a local-business page
Build a one-page site for a local business with your AI agent. Mobile first, with the search details agents skip: business schema, consistent name and address, tap to call and a plain directions link.
Open the explainer →Agent setups
Step-by-step setups for AI agents, with the commands and config files I used.
oh-my-pi vs Claude Code: which model for which job
oh-my-pi (omp) is a fork of pi and an alternative to Claude Code. Sign in with subscriptions you already pay for and send cheap work to cheap models.
Open the explainer →Hermes as a community manager
A build plan for running one Hermes agent across Discord, Slack and WhatsApp as your community manager: markdown memory, agent-written skills for member notes, a rewards job you approve, and the auth traps marked.
Open the explainer →Hermes as a research intern
A build plan for a Hermes research intern that sends you a report in Telegram every morning. It writes its own scrapers, runs them in a locked-down Docker sandbox, and remembers what it already told you.
Open the explainer →Hermes fixes failed CI runs
A build plan for a Hermes agent that fixes failed CI runs. A GitHub webhook hands it the failure, it reproduces it in a Docker sandbox, fixes the code, reruns the tests and opens a PR for your team to review.
Open the explainer →Hermes turns news into drafts
A build plan for a Hermes news desk. It watches the web and X on a schedule, splits research, summaries and fact-checks across subagents, and sends drafts to Telegram. A person still presses publish.
Open the explainer →Hermes runs Home Assistant
A build plan for running Hermes on top of Home Assistant: the four real HA tools, event watching with cooldowns, and a nightly job that sums up your household's patterns in a 2,200-character memory.
Open the explainer →Hermes as a family assistant
A build plan for one Hermes install the whole household talks to: the family group chat as the front door, a profile per person, scheduling that sorts out clashes, a shared grocery list and Home Assistant.
Open the explainer →The review-loop guides
How to get people to look at what you built before you ship it.
How do I get human feedback on an AI-generated web page?
How to get feedback on a page an AI built: share a live link, let people pin notes on the exact spot, and hand the notes to your agent. No Figma and no login.
Open the explainer →How to get design feedback without Figma
How to get design feedback without Figma: review the page where it lives. A picker to choose the right method, and why your least technical reviewer catches the most.
Open the explainer →How to share a prototype with a client for comments
How to get a client's comments on a prototype: send a live link, ask them to pin notes instead of writing an email, and turn a vague reaction into a list of fixes. Includes a message you can send.
Open the explainer →How to review a landing page before you launch it
How to check a landing page before launch: a checklist for the obvious misses, then the one check you can't do yourself, a stranger's first look.
Open the explainer →How to review AI-generated code before you ship it
How to review AI-written code before you ship it: made-up APIs, unstated assumptions, missing security and tests that check nothing. Plus the user-facing review that code review misses.
Open the explainer →Under the hood
How the tech inside your tools works. Each one has a small working version to play with.
How tokenization works
How tokenizers split text. Train a small byte-pair encoder with a slider, watch letters merge into tokens, and see why a model can't count the r's in 'strawberry' and what tokens do to your bill.
Open the explainer →How vector search works
How vector search finds close matches. Drop a query and watch the search hop across a graph to the answer in a few steps, then watch it get stuck when the graph is too sparse.
Open the explainer →How CRDTs work
How CRDTs merge edits. Change a shared list on two offline copies, sync them, and watch them agree with no conflict. A small observed-remove set shows why adding wins.
Open the explainer →The software factory
What happens when AI agents write most of the code, and where it breaks.
What is a software factory?
What people mean by a software factory in 2026: the four parts (intake, orchestrator, execution, feedback) to tap through, what the human still does, and how far off full autonomy is.
Open the explainer →Code review is the slow part
Why code review is the slow part of a software factory. A simulator shows code piling up as you add agents, because you can only ship what someone has checked. Then, how to speed up review.
Open the explainer →5 levels of trusting an AI agent
Five levels of trusting an AI agent, from autocomplete to bounded autonomy, with a gauge for how much a person still checks at each level, and why that never reaches zero.
Open the explainer →Letting an agent merge code you haven't read
How to let an agent merge code no one read line by line. A policy builder writes the GitHub Actions workflow, Mergify rules and branch protection for you. Fixed rules decide what merges.
Open the explainer →Run a software factory from your phone
How to build an open-source software factory you run from your phone: Telegram in front, Hermes in charge, oh-my-pi and OpenCode doing the work, model routing, a merge guardrail and review on your phone.
Open the explainer →How my agents remember things
How my agents remember things without a vector database: five simple memory tiers I run, seven systems I tried and dropped, and what would make me change my mind. Add a memory system only after a recall fails.
Open the explainer →Picking a model for each job
How I pick a model for each job in my software factory instead of paying top prices for simple work. A role-by-role explorer, three traps benchmarks hide, and a sketch of a router that proposes its own upgrades.
Open the explainer →