—  Builds · 2024–2026

    Builds.

    Things I’ve built to learn how AI systems behave outside a demo. One rule runs through all of them: the model proposes, code decides.

    —  Systems

    1. How the sales assistant answers a questionA question is routed to a model, which searches the documents and answers. A separate judge checks each claim, code sets the trust badge, and every model call is written to an audit log.QUESTIONROUTEANSWERSEARCH ×7JUDGEBADGE · SET IN CODE
      01Client proof of concept · Manufacturing · Retrieval

      Building an AI sales assistant for a GTM team in Manufacturing

      Gave a manufacturer’s sales reps cited answers in three languages, and flagged a document gap behind 18 of 27 pilot answers, by answering their technical questions from the product documents instead of sending them to R&D.

    2. How the router picks a model for each questionCode computes signals from the question. A classifier, either TypeSafe's Jev or Claude Haiku, proposes a light, standard or deep model. A rule in code keeps the proposal only when it is confident and safe, and otherwise sends the question to standard. Every route is written to the audit log.QUESTIONJEV · 159 MSCODE DECIDESLIGHTSTANDARDDEEP
      02Client proof of concept · Decision model · Evals

      Making an AI sales assistant answer sooner with a decision model

      Cut the sales assistant’s routing time from 1,378 ms to 159 ms in testing by replacing its language-model router with a decision model that code can overrule.

    3. Where a retrieval system copies its dataOffline, the client's documents are stripped, redacted and written to an index. For each question, the rep signs in and passes a per-person spending cap. Search sends the query to an embedding provider and the answer goes to model providers. The answer can become an email, deck or export for a customer. Analytics, the spend counter and the EU audit log keep records.QUESTION · MASKEDCAP · PER PERSONSEARCH · ANSWERAUDIT LOG · EU
      03Client proof of concept · Retrieval · Security

      Privacy, confidentiality and security in retrieval systems

      Gave every copy of a client’s documents and its reps’ questions a named audience and destination, masked customers’ names, emails and phone numbers before they leave the browser, and capped spend at $5 a person a day.

    4. How night-ops turns research into a briefAt 01:00 UTC a deterministic script gathers and scores research. An agent writes the brief. A validator decides whether it is emailed; if anything fails, a failure alert is sent instead. The brief is committed only after it is sent.RESEARCH · NO MODELAGENT WRITESVALIDATOR✕ ALERTBRIEF BY MORNING01:00 UTC
      04Personal · Agent ops · Since Jun 2026

      Building a research agent that works the night shift

      Got a research brief into my inbox on 77 of 93 nights by moving an overnight agent onto GitHub Actions, with scripted research and a deterministic validator deciding what gets sent.

    5. How a coding session runs inside the harnessEach session loads instructions and memory notes. A hook asks for a discovery pass before the plan. The agent works within permission rules. Checks it doesn't run on itself decide whether the work ships; a failure stops it. Notes from the run are read by the next session.PLAN · UNKNOWNSCLAUDE CODE · CODEXCHECKS✕ STOPSHIPS IF IT PASSESEVERY SESSION
      05Personal · Agent harness · Since Jun 2026

      Building a harness so a team of one can trust its coding agents

      Kept 244 departures from the plan on record in 13 days of a client build by wrapping my coding agents in plain files: a discovery pass before each plan, checks they don’t grade, and notes the next session reads.

    —  Skills

    1. 3open-source skills
    2. Skill · open sourcewatch & learnTurns a how-to video into a skill a coding agent can follow, then tries the skill on a real task before keeping it.Read the note
    3. Skill · open sourcedeslopifyStrips the tells of AI-written prose, with a sourced catalogue of tropes.On GitHub ↗
    4. Skill · open sourcefind-your-unknownsSurfaces the decisions a plan never made before a coding agent starts. Written by watch & learn from a talk.On GitHub ↗

    Statues: Marble left hand holding a scroll, Roman, 1st or 2nd century CE; Marble head of a youth, Roman, 117–161 CE; Marble sphinx on a cavetto capital, Greek, Attic, ca. 580–575 BCE. The Met, Open Access.