I build and evaluate AI to make products work.
Business Scenario Judge — can you trust an AI to grade another AI? I measured it: one person graded 60 real service chats blind in a labeling tool I built; a calibrated AI judge (its prompt carries the person's example rulings) and an uncalibrated one were then scored on 15 chats kept out of the calibration.
GG Tank Watch is a civic emergency archive I built during a real May 2026 chemical-tank evacuation (~50,000 residents; Wikipedia, NPR). While it ran, an LLM (Claude, with web search) summarized official and news updates every 30 minutes. A consumer-facing AI system held inside its authority by code and tests, not prompting:
- What if the AI got something wrong? The design assumed it would. The AI only wrote drafts — a separate, tested program checked every one and controlled what reached the page. And the page never told people what to do: at most, it pointed readers to official sources.
- The asymmetry that matters. A false all-clear is catastrophic; a false alarm is survivable. So danger downgrades need ≥2 sources (including an official agency), while upgrades fire on one. Enforced in code, never asked of a model.
- A behavioral harness of 200+ tests — green in CI — catches drift from the safety contract (fabricated sources, authored directives, stale data) before it ships, not after.
Three essays on AI evaluation, from practice — mikeilog.com/writing:
- What building an emergency dashboard taught me about trustworthy AI — the GG Tank Watch story: five lessons about AI you can trust.
- What AAA QA teaches about AI evaluation — Square Enix QA as a multi-agent evaluation system before anyone called it that.
- Human-in-the-loop eval and the part you can't ask about — what a real human-in-the-loop looks like, and when the honest move is to cut the feature.
Open
- gstack security fix #1822: withholds the localhost auth token from content-script
getPortcallers - Claude Code
- Reported and diagnosed session-bloat bug #61613 in the Read tool's binary-file serialization path (root cause + fix sketch)
- Added a reproduction, render-only proof, and fix direction to scrollback-duplication #51828
Merged
- gstack PR #1554: fix shipped in squash commit 7ca04d8, credited in the v1.42.0.0 release wave (#1594)
- Building AI agents: Claude Agent SDK, MCP, Anthropic SDK
- Languages: Python, TypeScript
I pick up new domains fast; everything is language.
- LinkedIn → https://www.linkedin.com/in/mikeilog
- Email → [email protected]
cooperation FTW · US (Pacific time) · remote




