TemperBench
"Does being rude to your AI make it worse?"
Three published papers directly contradict each other on whether user rudeness hurts LLM performance, and all three tested only single-turn rewritten prompts. TemperBench is a pre-registered, distributed benchmark: five sustained user-temperament personas held constant across multi-turn tasks, measuring answer quality, reasoning-token cost, and behaviors like abandoning a correct answer under pressure. The protocol, a 50-task battery and the test harness are public and runnable.
Now raising $5–15K on grantmaking.ai to run the full grid across model families, with independent replication built into the design.
Agent Orchestration & Persistent Memory
"My AI agent kept forgetting what we were doing."
An agent system with persistent memory that I use for my day-to-day work at the agency: daily memory files, an entity store, and checkpoint protocols preserve context across work sessions. From February to June 2026 a nightly review consolidated what the system learned and wrote it up as a journal entry.
22 public journal entries (Feb–Mar 2026), published from the system's own logs with client names redacted: continuity, corrections, and failure modes. I've used it every working day since January 2026.
Codex + Claude Tandem
"Which model should be driving right now?"
A skill for running Codex (GPT-6.1 Sol) and Claude Code (Opus 5.5) on the same job. Whichever model starts splits the work into parts, assigns a lead per part from a routing table built on observed strengths (Claude builds, lands code, and owns UI and long unattended runs; Codex digs: audits, deep review, root-cause hunts, cleanup, and computer use), and hands off with a prompt that lets the other model contest the split before acting. Leads swap only on named triggers. The table is updated as new models ship.
Tested against a no-skill baseline on Claude Opus, with skill runs on Opus and the real Codex CLI (GPT-5.6 Sol). Without the skill, models mostly picked a sensible lead but never left a handoff the other model could read back and challenge. The skill supplies that half. The September routing update is not re-tested yet.
reading-discipline
"Did the agent actually read the files, or just grep them?"
A published Claude Code plugin (skill, hook and reader subagent) built on one rule: regex locates, reading judges. Ask an agent to flag every article that makes a pricing claim and it will often grep for price words, review only the hits, and call it done. That misses paraphrased claims ("two grand") and never judges the rest of the corpus. The skill forces a manifest, a full read of every file, a quoted piece of evidence per verdict, and a coverage line stating what was read.
Built test-first against a no-skill baseline. On a 40-file corpus with paraphrase-only traps, the baseline Haiku 4.5 runs grepped and left 34 files unjudged, and one rep missed a true positive. With the skill: 6 of 6 found, the trap excluded, and the coverage line said "40 enumerated, 40 read". Small n, one task domain, and the limitations are published with the results.
AI Content Engine
"Can AI write client copy without making things up?"
A content pipeline where every generated claim is traced to a source before a person sees the draft: source-locked drafting from spec sheets and approved pages, a claim ledger tying each statement to its evidence, and an independent reviewer that is handed planted defects in every packet, so a lazy review gets caught. Every defect that slips through becomes a permanent test.
97.78% first-pass factual accuracy on one measured batch (14 errors in 633 claims, reported as an upper bound). All 14 were caught and fixed before the client saw the drafts.
Full pipeline walkthrough on a call.
AI Visibility Measurement (in progress)
"Does ChatGPT even mention my brand?"
Measuring whether AI assistants name a brand when buyers ask the questions they actually ask. The hard part is noise: the same prompt gives different answers minutes apart, so a single screenshot proves nothing. The method asks every question repeatedly, on every engine, and reports presence rates rather than rankings.
First pilot, September 2026: 60 buyer questions for a boat dealer, asked 4 times each across 6 engines (ChatGPT, Gemini, Perplexity, Claude, AI Overviews, AI Mode). That is 1,440 requests and 1,345 retrieved answers for about $8 in API cost. On the general buying questions, the brand appeared in 42% to 86% of answers depending on the engine. Next: repeat runs so a monthly number means something.
MarineBench
"Does AI actually know my client's products?"
A benchmark testing whether LLMs know exact facts from the 2026 Regulator Marine catalog: base prices, option costs, fuel capacity. Then I audited my own method and published what broke: questions written from the same catalog used as context, grader bugs, and a temperature setting that didn't match the page. A second version fixes the design with held-out questions.
v1: frontier models answered 20 to 44% of 25 catalog questions cold. The one model tested with the catalog in the prompt scored 100%, on questions written from that same catalog. v2 (built, results not yet published): 150 held-out questions across 12 models, and the best scored 64%.
FactLayer
"How does an agency ship AI content a client can trust?"
The review layer of the content engine: a word processor where every factual claim in an article carries its source evidence one click away, whether a spec sheet, model page or client email. Built on Next.js, Cloudflare Workers and D1, with a 20-rule validator on every article payload.
Deployed, and all 6 production articles validate clean. Unresolved claims stay visible until a reviewer verifies, revises, or removes them.
Client articles are why there's no public demo. Walkthrough on a call.
Gmail Mission Control
"Why are we paying for a shared-inbox SaaS?"
A single-page Gmail client on a Cloudflare Worker (~5,000 lines): threads grouped by client via sender-domain matching, Gemini one-line thread summaries and context-aware draft replies cached in KV, Slack alerts, archive/snooze/VIP, and a natural-language filter builder.
Replaced the agency's shared-inbox subscription (renewal quote: $8,804 per year). Idea to working v0.8 in six days, live since March 2026. Client inbox data is why there's no public demo.
Architecture walkthrough available on a call.
Rank Tracker
"Nobody trusted the rank report."
A zero-backend rank-tracking dashboard: a Python scanner that merges Google Search Console, Semrush and DataForSEO, and writes one self-contained HTML file with Chart.js. Per-keyword trend charts, average-position scorecards, no subscription. Paid SERP checks only verify moves the free sources flag.
Estimated live-verification cost for one client's 167 keywords: $0.37 to $1.67 per scan, depending on how many keywords get checked. Run on demand.
Client keyword data is why there's no public demo.
Keyword Cluster Map
"Ten thousand keywords. What do we actually build?"
An interactive discovery-to-content map: raw keywords from GSC, Semrush, and seed expansion deduplicated and clustered, with URL ownership per cluster and a clickable bubble map connecting search demand to the pages that should own it.
11,654 raw keywords → 7,339 relevant terms → 20 clusters, each mapped to a page, for a B2B SaaS client.
Client data is why there's no public demo.
This Site's Hiring Chat
"Don't read my resume. Ask about me."
The AI chat on my hiring page is a Cloudflare Worker I wrote, with a role-config system that tailors the page per opportunity via query param. Ask it about my work, my gaps, or whether I fit your role.
Built and hosted by me, with its own role config for each application.
Turf Wars
"And for fun: a strategy game, built from scratch."
A turn-based crime-strategy game where you grow a gang from one city block into a citywide syndicate. TypeScript, Canvas, and Vite across 21 modules: influence-based territory control, AI rival factions, district art, and two playable victory paths out of six designed. A playable prototype.
Playable in your browser. No game engine or framework; I wrote the game loop and renderer by hand.