Thinking

  • Claude Code
  • Context Engineering
7 min

Write CLAUDE.md Files Without Poisoning Your AI Agents

Too many instructions do not merely consume tokens; they redirect Claude Code into unrecoverable doom loops.

  • Data Security
  • DX
12 min

Designing a TypeScript helper to prevent accidental database field leaks

A lot of database code starts by selecting too much.

  • Product Design
  • Context Engineering
17 min

Building the primitive AI coding loop around GPT-4

Before AI coding agents could read error logs, run commands, or inspect a codebase on their own, I was building a browser-based workflow around GPT-4 that tried to make the same loop faster.

  • Library
  • TypeScript Generics
8 min

Type-First React State Tree

React makes local state easy to start with. That is one of its strengths.

View all thinking

Selected Work

AI Project Scoping Canvas

An infinite canvas where branching question nodes turn a one-line build idea into a structured map of assumptions, risks, and follow-up requirements.

typecheck

TypeScript diagnostics CLI that turns verbose compiler output into concise semantic diagnostics for AI coding agents.

Typed-First React State Tree

A TypeScript library that models complex UI behavior as an explicit state machine - every component binds to a tagged contract of data, actions, and reachable states.

Stack

Languages
TypeScriptJavaScriptReactJava
Platform
TanStack StartNext.jsVercel AI SDKBetter AuthoRPC
Data
PostgreSQLDrizzle ORMSurrealDBZod
Tooling
Type-level state machinesClaude CodeJira