← twocents.page

Interactive explainers

Pages that teach one idea by letting you play with it. Every page is live — disagree with a claim and you can pin a note right on it.

The truth-seeking series

Seeing reality more clearly: biases, base rates, and the questions that puncture comfortable stories.

Bayes & base rates — you tested positive. How worried should you be?

An interactive Bayes' theorem explainer: 1,000 countable people show why a 90%-accurate test doesn't mean a 90% chance you're sick. Base-rate neglect, made visible.

Open the explainer →

Survivorship bias — where would you armor the bomber?

Abraham Wald's WWII bomber problem as an interactive puzzle: place armor on the damage map and learn why the bullet holes you can see are the ones that don't matter.

Open the explainer →

Customer interviews — your mom will lie to you. So will your customers.

Five customer-interview questions that invite polite lies, rewritten live. An interactive take on Rob Fitzpatrick's Mom Test: ask about their life, not your idea.

Open the explainer →

Startup idea autopsy — a kill-your-idea template to fill in

A fill-in idea autopsy: score each assumption by how bad it'd be if wrong and how little evidence you have, then attack the riskiest first. Kill your idea before the market does.

Open the explainer →

Preference falsification — everyone thought everyone else believed it

A threshold-model crowd simulator (Granovetter, Kuran): watch a belief everyone privately rejects survive because everyone waits for someone else to speak first.

Open the explainer →

The distribution series

Getting seen without an audience: plays that borrow existing attention flows instead of grinding out followers.

Distribution without an audience — the seven plays, mapped

The seven distribution plays for products with no audience, mapped interactively from Melvin Luu's essay: MCP servers, AEO, free tools, programmatic SEO, shareable artifacts, newsletter acquisition, affiliates.

Open the explainer →

The complex systems series

Simple rules, surprising worlds: interactive models of how markets, cities, and crowds produce outcomes nobody chose.

Schelling segregation — nobody here is a bigot, and the city still segregates

An interactive Schelling segregation model: households happy as a minority on their own block, one preference slider, and a city that segregates anyway. Find the tipping point yourself.

Open the explainer →

The yard-sale model of wealth inequality — a perfectly fair game ends in oligarchy

An interactive yard-sale model of wealth inequality: 100 households, fair coin-flip trades, and an oligarchy every time. Flip on a 2% tax mid-collapse and watch a middle class appear.

Open the explainer →

Vibecode build plans

Paste-able plans for one-evening builds: an opinionated spec, staged prompts that rewrite themselves, the traps agents fall into — and a human-feedback step before you ship.

Build a link-in-bio page with your AI agent — a one-evening plan, prompts included

Build a link-in-bio page with your AI agent in one evening: an opinionated single-file spec, four staged prompts that rewrite themselves as you toggle features, and the traps agents fall into.

Open the explainer →

Build a habit tracker with your AI agent — a single-file plan, prompts included

Build a habit tracker with your AI agent: a single-file localStorage plan with staged prompts, a one-habit-by-default spec, and the midnight timezone bug defused before your agent writes it.

Open the explainer →

Build a waitlist page with your AI agent — a one-hour plan, prompts included

Build a waitlist page with your AI agent in an hour: promise-proof-ask above the fold, a form backend you don't have to build, staged prompts that rewrite themselves, and a stranger test for the pitch.

Open the explainer →

Build an invoice generator with your AI agent — a one-file plan, prompts included

Build an invoice generator with your AI agent in one evening: a single-file, no-signup plan with staged prompts, money math done in integer cents, and browser print-to-PDF instead of a library — plus the rounding and print-stylesheet traps agents fall into.

Open the explainer →

Build an expense splitter with your AI agent — split a bill fairly, in one file

Build an expense splitter with your AI agent: split a shared bill fairly in one file, with a greedy minimum-transactions settle-up, integer-cent math, and the dropped-remainder and per-expense-participant traps defused before your agent writes them.

Open the explainer →

Build a pomodoro timer with your AI agent — one file, no drift

Build a pomodoro timer with your AI agent that doesn't drift: a single-file plan driving the countdown off a target timestamp (not setInterval), surviving backgrounded tabs, and gating notifications and sound behind a user gesture.

Open the explainer →

Build a flashcards app with your AI agent — spaced repetition in one file

Build a flashcards app with your AI agent: real spaced repetition (Leitner boxes) in one file, paste-to-import decks, keyboard review, localStorage that survives edits, and the fake-spaced-repetition and innerHTML-injection traps marked.

Open the explainer →

Build a one-page site for a local business with your AI agent — prompts included

Build a one-page site for a local business with your AI agent: a mobile-first plan with LocalBusiness schema, NAP consistency, tap-to-call, and a lightweight directions link instead of a heavy map embed — the local-SEO details agents skip.

Open the explainer →

Agent stack build plans

Setups, not artifacts: verified plans for standing up AI-agent stacks — real install commands, real config files, the capabilities the hype invented crossed out, and a human-feedback step before you trust them.

oh-my-pi vs pi and Claude Code — routing, subscriptions, traps

oh-my-pi (omp) is a hard fork of pi and a Claude Code alternative: log into subscriptions you already pay for, route cheap models at cheap work.

Open the explainer →

Hermes as an omnichannel community manager — Discord, Slack, and WhatsApp from one agent

A build plan for running one Hermes agent across Discord, Slack, and WhatsApp as your community manager: markdown memory used honestly, agent-written skills for member notes and live data, a human-approved rewards cron — with the auth and self-editing-skill traps marked.

Open the explainer →

Hermes as a self-improving research intern — daily cron, sandboxed scrapers, and a memory that never repeats itself

A build plan for turning Hermes into a self-improving daily research intern: a cron-scheduled morning report in Telegram, self-written scraper skills for awkward-but-open formats run in the hardened Docker backend, and a three-layer memory — session search, a pinned memory file, a reports archive — so it never repeats itself.

Open the explainer →

Hermes as a CI/CD healing agent — failed workflow in, tested pull request out

Turn Hermes into a CI/CD healing agent: a GitHub webhook on failed workflows drives an agent that fetches the logs, reproduces the failure in a hardened Docker sandbox, fixes the code, re-runs the tests, and opens a PR your team reviews over coffee — with the webhook config, staged prompts, and the self-triggering-loop traps mapped.

Open the explainer →

Hermes as a live news-to-content pipeline — cron monitoring, delegated drafting, a human on the publish button

Turn Hermes into a cron-driven editorial desk: scheduled web and X monitoring, a Researcher/Summarizer/Fact-Checker split via subagent delegation, and a draft queue delivered to Telegram several times a day — with a human on the publish button.

Open the explainer →

Hermes as a smart home orchestration hub on Home Assistant — the build plan

A build plan for running Hermes as the judgment layer on top of Home Assistant: the real HA toolset (ha_list_entities, ha_get_state, ha_list_services, ha_call_service), WebSocket event awareness with watch_domains and cooldowns, and a nightly cron loop that distills your household's patterns into a 2,200-character memory.

Open the explainer →

Hermes as a family operating system — one agent stack the whole household talks to

The capstone agent-stack build plan: one Hermes install the whole household talks to — family group chat as the front door, a profile per member (the real mechanism, not the mythical role tiers), proactive scheduling with clash resolution, a self-consolidating grocery list, and smart home via Home Assistant.

Open the explainer →

The review-loop guides

Getting real human eyes on what you built — before you ship it. How to collect feedback, run a review, and catch what you've gone blind to, without Figma or a login.

How do I get human feedback on an AI-generated web page?

How to get human feedback on an AI-generated web page: share it as a live link, let people pin comments on the exact spot, and get the notes back structured enough for your agent to act on — no Figma, no login, no emailed screenshots.

Open the explainer →

How to get design feedback without Figma

How to get design feedback without Figma: review the real page where it lives instead of comping it into a design tool. An interactive picker for the right no-Figma method, and why the least technical reviewer catches the most.

Open the explainer →

How to share a prototype with a client for comments

How to share a prototype with a client for comments: send a live link, ask for pinned notes instead of email prose, and turn a vague reaction into a located punch list. Includes a message composer to draft the ask.

Open the explainer →

How to review a landing page before you launch it

How to review a landing page before you launch it: an interactive pre-launch checklist for the objective misses, then the stranger review — the one check you can't run on your own page.

Open the explainer →

How to review AI-generated code before you ship it

How to review AI-generated code before you ship it: the red flags specific to LLM-written code — hallucinated APIs, unstated assumptions, security left as an exercise, tests that assert nothing — plus the user-facing review code review misses.

Open the explainer →

Under the hood

The concept behind the tool you're already using — tokenizers, vector search, CRDTs — each one a real (if toy) mechanism you can poke with a slider until it clicks.

How tokenization works — an interactive byte-pair encoding explainer

How tokenization works: an interactive byte-pair encoding explainer. Train a real toy BPE on a corpus with a slider, watch characters fuse into tokens, and see why an LLM can't count the letters in 'strawberry' — and why your token bill depends on it.

Open the explainer →

How vector search works — an interactive HNSW / nearest-neighbor explainer

How vector search works: an interactive HNSW / nearest-neighbor explainer. Click to drop a query and watch greedy search walk a navigable graph to the answer in a few hops instead of a full scan — then get stuck in local minima when the graph goes sparse.

Open the explainer →

How CRDTs work — an interactive local-first merge explainer

How CRDTs work: an interactive local-first merge explainer. Edit a shared list on two offline replicas, sync, and watch them converge with no conflict — an Observed-Remove Set showing why 'add wins' and how merge-by-union can't disagree.

Open the explainer →

The software factory

The agentic software factory, taken apart honestly: what the machine is, where it jams, and — the part worth reading — how to actually build one, no hype.

What is a software factory? The agentic software factory, explained

What is a software factory? The 2026 agentic software factory explained: the four-subsystem anatomy (intake, orchestrator, execution, feedback) as a click-through, where the human's job goes, and an honest read on how close full autonomy really is.

Open the explainer →

Why code review is the software factory's real bottleneck

Why code review is the software factory's real bottleneck: an interactive throughput simulator showing generation outrun review as you add agents — you ship what you can review, not what you can write — and how to actually widen the human gate.

Open the explainer →

The 5 levels of agent autonomy — a trust ladder for the software factory

The 5 levels of agent autonomy: a trust-ladder framework (autocomplete → draft assistant → supervised PRs → guardrailed merge → bounded autonomy) with an interactive gauge for how much the human still inspects at each rung — and why the gate never hits zero.

Open the explainer →

The auto-merge guardrail: let an agent merge without reading every line

The auto-merge guardrail (L3→L4): let an agent merge without a human reading every line. An interactive policy builder generates a real GitHub Actions workflow, Mergify/labeler policy, and branch-protection commands from your gates and change-classes — deterministic policy decides, not AI review.

Open the explainer →

How to build an open-source software factory you run from your phone

How to build an open-source software factory you run from your phone: the full reference architecture as a click-through — Telegram front door, Hermes control plane, oh-my-pi/OpenCode executors, model routing, the guardrail, and mobile human review — one human for intent and review, never babysitting.

Open the explainer →

Memory for AI agents: the tiers we run, and the systems we rejected

Memory for AI agents without the vector-database reflex: the five zero-infra tiers our software factory actually runs (capped invariants, lexical session recall, per-project git decision logs, executor lessons, a hygiene curator) and the seven external memory systems we considered and rejected — each with the specific trigger that would flip the decision. Two interactive click-throughs; the rule is: add an external memory provider only when you can name a recall that failed.

Open the explainer →

Model routing for AI agents: match the model to the job (and let the agent upgrade itself)

Model routing for a software factory: match the model to the job instead of paying frontier prices for grunt work. An interactive route-by-role explorer (control plane, coding executor, local grunt, eval) plus three traps benchmarks hide — the tool-call trap, free-tier throughput economics, and stale free-model rosters — and an honest design sketch of a self-updating router that discovers, evals, live-fire A/Bs, and proposes its own routing upgrades under human approval.

Open the explainer →