ReadySetBind
The gate that heldAI could draft, but not bind.
Known failure classes are blocked in CI, and sensitive database functions are denied and tested across Postgres roles.
Read the case study →The same rigor I spent on other people's systems, now turned on my own products — an honest register of what shipped, what got shelved, what got scrapped, and the security decision behind each call.
Every non-live verdict carries a lesson forward.
Three builds that show the pattern: a security decision that changed the outcome, and the verdict it earned. The rest of the register is below.
The gate that heldAI could draft, but not bind.
Known failure classes are blocked in CI, and sensitive database functions are denied and tested across Postgres roles.
Read the case study →What changedEvidence changed the commercial path.
Privacy scrubbing shipped from day one, and wording violations were turned into build checks for the pages they cover.
Read the case study →What changedA product-specific harness became reusable tooling.
The export playbook requires tracked-file archival, brand scrubbing, synthetic-credential checks, and a human push.
Read the case study →Every project gets a verdict and a line on what carried forward. The scrapped ones count as much as the launches. Open any project’s case study, or cross-read the security controls →
Showing 5 of 15 projects. Expand to see all.
A local, private dashboard for what your AI coding agents actually cost. It reads your session logs on your own machine and shows where token spend and waste go — nothing leaves your laptop. Open source, shipping soon.
CARRIED FORWARDPrivacy-preserving by construction: a loopback-only daemon, no telemetry, no account.
GridSignals' engine rebuilt for a wider audience — the same signal intelligence, now spanning three regulated industries and 61 security products instead of a single energy use case.
CARRIED FORWARDThe two-hop config-as-data reasoning chain — event→capability→product with no hardcoded product names — and the principle that trust invariants belong in the schema (CHECK constraints + append-only triggers) rather than in application code.
Watches 172 US energy companies for public-record events and turns each into a scored, sourced sales signal — mapped to the Microsoft security product that fits. Built with zero third-party code, so nothing in the supply chain has to be trusted.
CARRIED FORWARDThe stdlib-only pipeline discipline — zero third-party packages for ingestion, classification, scoring, and audit — as the default for public-record tools where supply-chain surface matters. And config-as-data: seeding operator-tunable parameters into SQLite rather than hard-coding them means the next tool ships with an Admin UI and a tunable surface from day one.
A local, offline toolkit that turns a weekly CRM pipeline CSV export into forecast narratives, QBR decks, and account plans — deterministic, vendor-neutral, and built against an enterprise security-sales methodology.
CARRIED FORWARDMechanical invariant enforcement over advisory policies: if a requirement matters enough to write down, it matters enough to fail the process when violated. And the config-not-code pattern: behavior that might need tuning, substitution, or localization belongs in data files read at call time, not in function bodies that require a code change.
A sales pipeline inspection agent — ingests any CRM export, runs 11 deterministic hygiene rules, and scores every opportunity, owner, and desk. No API keys, no LLM calls, no external services.
CARRIED FORWARDTwo patterns: the non-circular oracle (independent generator and engine, each checked against the same spec, never against each other) and the parity boundary (a pure view model with no UI imports, so a framework swap becomes a renderer swap, not a rewrite).
Turns an insurance quote PDF into a ready-to-sign bind package — the AI reads the fields, a human verifies every one, then it routes to the underwriter. A live pilot.
CARRIED FORWARDEvery third-party wrapper now returns an explicit status the caller has to branch on, never a bare boolean. Recurring defects earn an automated gate, not a third paragraph of documentation. And every sensitive database function is denied by default and tested against all three Postgres roles, not just the one that bit me.
Tariff-refund recovery for small importers. Protest windows close on a fixed legal schedule and the refund pool shrinks 8–10% a month, so the whole product races the clock. Free analysis; broker partnership in progress.
CARRIED FORWARDStackBadger was born here, as the internal pentest harness. So did three habits that moved into everything after: the PII-scrubbing patterns, the Clerk-to-RLS auth fix, and a decision-hygiene routine — a versioned strategy doc with an open-decisions table, plus dated audits that diffed the live site against it.
A pentest harness for AI-built apps, extracted from a production SaaS codebase, then scrubbed and open-sourced. It was the only code still earning commits after the product work stopped.
CARRIED FORWARDThe extract → scrub → review release playbook: archive tracked files only, scrub every brand reference, decode anything credential-shaped to prove it's synthetic, then a human pushes. It's now the standard path for anything leaving a private repo.
Pre-MLS lead scoring for San Diego real-estate wholesalers: distress signals from 11 sources, scored so an operator can see why a lead ranks where it does. A fair-housing review cut a whole signal class before any code shipped. Full MVP in 7 days, then paused unlaunched.
CARRIED FORWARDCompliance shaping scope at design time: a fair-housing review removed an entire signal class before any code existed. And the checkpoint-and-circuit-breaker pattern for fragile, county-scale scrapers.
Built in 5 days to help a friend being stalked: a local-only pipeline that tracks the stalker's online activity to evidence standards — provenance on every finding, fail-closed defaults that never tip off the subject, attribution scoring with negative controls. Report delivered to law enforcement. Deliberately unpublished.
CARRIED FORWARDThe audit-the-design-before-building gate, and the fail-closed posture that refuses rather than warns. The repository itself stays private, permanently: it holds a real case.
Cyber-insurance readiness for small businesses, built to launch-ready and then paused on purpose. It's the project that taught me to audit my own guardrails: of 16 I'd built, exactly one provably worked.
CARRIED FORWARDThe guardrail rubric, the solution library, and the worktree protocol. And the successor product wrote its launch gates in advance precisely because this one validated late.
3D-printable replacement parts from a photo of the broken one. The adversarial PRD review asked whether photo-to-printable-geometry had actually been proven feasible. It hadn't. Scrapped at review, for the price of one session.
CARRIED FORWARDAdversarial review as a standing gate before any build.
Attack-surface intelligence for M&A due diligence: size up a target's external security posture before the deal closes. The PRD cleared adversarial review, then lost the build slot to TariffRefunded. A complete plan is a cheap thing to hold open.
CARRIED FORWARDThe Idea → Build framework itself, which every later project's PRD ran through.
My first product: a baseline security-risk assessment for small businesses, built on the CIS IG1 controls. Started off GitHub in late January; folded into its successor.
CARRIED FORWARDEverything: the successor is literally the same repository continued. Six agent skills and three reviewer agents survived into a roster that grew to 42 and 11, and the honest verdict (“nobody pays for an AI-interview risk assessment”) re-aimed the product at a question businesses do pay for.
Interview prep run as an agent workspace, not an app: a citation-enforced knowledge base, ten interviewer personas built from public record, and a mock mode that argues back in their voices. No database, no server: just a directory layout and 12 agent skills.
CARRIED FORWARDA general blueprint for becoming rapidly, defensibly conversant in any organization and its people: reusable for due diligence, sales prep, or expert-witness work.
The sharp moments — a control that failed, a deploy that lied, a call that stalled. Each links straight to the incident in the write-up.
A local, privacy-preserving observability tool for Claude Code token spend and session outcomes. A daemon on 127.0.0.1 streams your ~/.claude transcripts into SQLite and surfaces cost trends, hygiene findings, and GitHub outcome linkage — so you can measure and cut agent waste without any data leaving your machine. Shipping soon; the two token-economics field notes below are the teaser.
Jan 27 – Aug 25, 2026. Bar length is calendar time; the labels are commits. Overlaps are real — some of these ran in parallel across ~35 agent worktrees.
The same 211 days as a sequence of decisions, most recent first. Dates marked ~ are approximate.
GridSignals, generalized: pre-sales signal intelligence across energy, financial services, and healthcare, recommending security products from 47 vendors instead of one. A two-hop event → capability → product path keeps every suggestion auditable. Still building; deploy not yet wired.
An offline, deterministic toolkit that turns a weekly CRM export into the forecast narratives, QBR decks, and account plans a seller builds by hand — adapted from an enterprise security-sales methodology. On-screen numbers and the exported decks cannot disagree. 72 commits · 10 PRs in 3 days.
Turns the public record around 172 US energy companies into scored, sourced signal cards, mapping regulatory and incident events to Microsoft security products. Stdlib-only pipeline, 84-module test suite, honest empty states. 337 commits · 115 PRs in 9 days.
A read-only sales-pipeline inspection agent: eleven deterministic hygiene rules flag stale, slipped, and mis-forecast deals before the forecast call, each flag tracing to a versioned threshold. Agents inspect, people sell. 137 commits · 37 PRs across 4 active days.
Eight products, two live, one published, one report delivered. The scrapped ones count as much as the launches.
A pentest harness extracted from TariffRefunded, scrubbed, and released. The extract → scrub → review playbook becomes repeatable.
813 commits and 243 PRs in the first 17 days. Day one shipped the end of the pipeline before most of the middle existed.
Ideated inside the SafeCircleOps build, three days in. 130 commits to a working real-estate intelligence MVP, then paused unlaunched.
140 commits in 5 days. Local-only, evidence-grade, deliberately unpublished. Report delivered to law enforcement.
Near-launch after 747 commits. The project that taught me to audit my own guardrails.
The tariff rate monitor PRD dies; refund recovery for SMB importers replaces it, racing a 180-day protest window.
Adversarial review said “spike first.” Stopping it cost a review session instead of a build month.
The honest read: nobody pays for an AI-interview risk assessment. Everything carried directly into CyberReadyAI on the day of the last commit.
First run of the 7-phase Idea → Build framework. The PRD survived; the build slot went elsewhere.
First product, first AI-agent workflow. 160 commits over the next 15 active days.
The first build starts off GitHub: landing pages and product shaping ahead of any version control.
Field notes from building with AI agents — specific incidents, real numbers, no generic advice.
I built sixteen guardrails to stop my AI coding agents from destroying work. Then I audited them like a consultant would. One actually worked.
A federal statute constrains what my product is allowed to say. An audit found 18 violations in my own copy — so I wired the forbidden phrasings into the build and made shipping one impossible.
I let AI agents build my own email plumbing on top of Resend. The same bug — marking undelivered mail as “sent” — shipped three times before a build gate finally stopped it.
Ideas that got a real PRD, real research, or real validation — and a deliberate no. Each one has a reason on record.
Trust belongs in the schema, not the application.