Skip to content

// projects

Projects

Selected work — systems, tools, and experiments.

MAXSTACK

MAXSTACK describes your app as a typed source of truth — then derives the code, database, admin UI, forms, API, and MCP tools from it. AI proposes typed changes; you review; regeneration never clobbers what you own.

AI Board

A deliverable-centric AI workspace: define what "good" looks like, get an editable workflow to produce it, set review criteria, then run it and receive scored results. Review is a first-class activity, not an afterthought.

React RouterDrizzle ORMPostgreSQLbetter-authAnthropic APITailwindshadcn/ui

AI Canvas

A typed AI workspace where a chat assistant extracts schema-typed structured objects from conversation into a queryable store — with row- and field-level provenance, so you always know whether a value came from you or the model.

React RouterDrizzle ORMPGlitePostgreSQLAnthropic APITailwindshadcn/ui

coai

A meeting-room simulator with a customizable team of AI coworkers who push back, take notes, and walk you out of every meeting with recorded decisions and owners.

TanStack StartReactDrizzle ORMPostgreSQLbetter-authAI SDKHono

NO MEETINGS

An AI meeting layer that replaces low-value meetings with structured async pre-work — and makes the meetings that survive shorter and better. Human decides, AI facilitates.

React RouterDrizzle ORMPostgreSQLAnthropic APITailwindshadcn/ui

Specly

"GitHub for specs" — share, discover, and compose structured, remixable software specifications. As AI makes code cheap, good specs become the scarce resource.

BunReact RouterDrizzle ORMPostgreSQLbetter-authAnthropic APIMCP

appfmwk

An opinionated, agent-optimized app framework: one command scaffolds a full-stack app structured so coding agents can build through it fast — vertical feature modules, local docs, and zero-setup embedded Postgres.

TanStack StartTypeScriptDrizzle ORMPGlitePostgreSQLbetter-authshadcn/ui

appbench

Give it an app description and it one-shots that app with several agent frameworks — raw Anthropic API, Claude Agent SDK, Claude Code CLI, LangChain — then compares them head-to-head on speed, cost, tokens, and whether the app actually works.

TypeScriptAnthropic APIClaude Agent SDKLangChain

Gangstas: Organized Crime

A turn-based organized-crime strategy game set in Prohibition-era America — a modern reinterpretation of 1998's Gangsters: Organized Crime, with a deterministic 10-phase turn engine and ~600 tests.

TypeScriptReactViteTailwindVitest

CYBERLANG

A cyberpunk RPG that teaches a real language (Japanese first) by "infecting" the game itself — a digital contagion progressively overwrites the UI, dialogue, and your character's thoughts into the target language. The localization is the boss fight.

ExpoReact NativeTypeScriptZustand

Learner

A language-learning web app (Spanish first) driven by JSON lesson files — chapter- and page-based lessons, fill-in-the-blank and transformation exercises, and an auto-aggregated flashcard deck.

React RouterDrizzle ORMPostgreSQLbetter-authTailwindshadcn/ui

Decisioner

Decide who you want to be — one swipe at a time. A local-first mobile app that builds a profile of your preferences and values through a low-friction, Reigns-inspired swipe interface.

ExpoReact NativeSQLiteDrizzle ORMbetter-authHono

Margin

"Point at the thing you mean" — a Chrome extension for non-technical feedback that auto-attaches the technical context: screenshot, element selector, console errors, and failed requests from the 30 seconds before submit.

Chrome ExtensionManifest V3Node.jsSQLite

HobbyPack

A loadout screen for your real-life hobbies: catalog the gear you own, see what to get next, earn achievements, and share a game-like profile — from mechanical keyboards to espresso to TTRPGs.

MAXSTACKTypeScriptReact