Skip to main content

Stack

What I build with

The AI I build with and the stack I ship on, layer by layer. Hover or tap a tile in the game to see what it is for, and catch the dino if you can.

Claude Code

My pair-programmer - I build most things here now.

Claude Opus 5.5

The model behind Claude Code when I build.

ChatGPT

Where I talk a problem through before building.

Codex

A second opinion when a fix gets stubborn.

Pi

A minimal agent harness that runs any model.

Cursor

Inline, context-aware edits when my hands are on the keys.

OpenAI

Generation pipelines and structured outputs.

Gemini

Long-context summarization in my extensions.

whisper.cpp

Local speech-to-text (powers Scribe).

Piper

Local text-to-speech (one of the voice engines in my VoiceDock extension).

Hugging Face

Models and datasets to pull from.

Next.js

Every web app I make starts here.

React

The UI layer under all of it.

TypeScript

Strict mode everywhere.

Tailwind CSS

Styling right in the markup.

Zod

Validates forms and API input, typed end to end.

ShadCN

Accessible components I own and restyle.

Vite

Fast builds for my apps and extensions outside Next.js.

PostgreSQL

A full relational database when SQLite is not enough.

Turso

SQLite at the edge for my apps.

Drizzle

Type-safe queries, checked against the schema.

Firebase

Auth and realtime data for quick builds.

AWS

Cloud hosting and storage when a project needs it.

Google Cloud

Google APIs and cloud services.

Vercel

Push to main and it ships.

Cloudflare

R2 file storage and Turnstile spam checks.

Sanity

The CMS behind my blog.

Upstash

Redis for rate limits and the dino scores.

Clerk

Drop-in sign-in and user management.

NextAuth

Sign-in for Next.js apps I host myself.

Sentry

Tells me when something breaks in production.

Google Analytics

Visitor numbers, only with consent.

Playwright

End-to-end tests in five browsers.

GitHub Actions

CI on every pull request.

ESLint

Lint that fails the build on any warning.

Prettier

One code style, never argued about.

Git

Small commits, every change on a branch.

Figma

Mockups before the code, when a design needs it.

I constantly try to improve

My tech stack

AI agents and models

Who I build with, and the models inside what I build.

  • Claude Code

    My pair-programmer - I build most things here now.

  • Claude Opus 5.5

    The model behind Claude Code when I build.

  • ChatGPT

    Where I talk a problem through before building.

  • Codex

    A second opinion when a fix gets stubborn.

  • Pi

    A minimal agent harness that runs any model.

  • Cursor

    Inline, context-aware edits when my hands are on the keys.

  • OpenAI

    Generation pipelines and structured outputs.

  • Gemini

    Long-context summarization in my extensions.

Local AI

Models that run on your own machine.

  • whisper.cpp

    Local speech-to-text (powers Scribe).

  • Piper

    Local text-to-speech (one of the voice engines in my VoiceDock extension).

  • Hugging Face

    Models and datasets to pull from.

Frontend

The web apps themselves.

  • Next.js

    Every web app I make starts here.

  • React

    The UI layer under all of it.

  • TypeScript

    Strict mode everywhere.

  • Tailwind CSS

    Styling right in the markup.

  • ShadCN

    Accessible components I own and restyle.

  • Zod

    Validates forms and API input, typed end to end.

  • Vite

    Fast builds for my apps and extensions outside Next.js.

Data

Where the data lives, and how it is queried.

  • PostgreSQL

    A full relational database when SQLite is not enough.

  • Turso

    SQLite at the edge for my apps.

  • Drizzle

    Type-safe queries, checked against the schema.

  • Firebase

    Auth and realtime data for quick builds.

  • Sanity

    The CMS behind my blog.

  • Upstash

    Redis for rate limits and the dino scores.

Hosting and cloud

Where it runs.

  • Vercel

    Push to main and it ships.

  • Cloudflare

    R2 file storage and Turnstile spam checks.

  • AWS

    Cloud hosting and storage when a project needs it.

  • Google Cloud

    Google APIs and cloud services.

Sign-in

Accounts, done properly.

  • Clerk

    Drop-in sign-in and user management.

  • NextAuth

    Sign-in for Next.js apps I host myself.

Quality and shipping

How it stays working.

  • Playwright

    End-to-end tests in five browsers.

  • GitHub Actions

    CI on every pull request.

  • ESLint

    Lint that fails the build on any warning.

  • Prettier

    One code style, never argued about.

  • Git

    Small commits, every change on a branch.

  • Sentry

    Tells me when something breaks in production.

  • Google Analytics

    Visitor numbers, only with consent.

Design

Before the code, when it needs it.

  • Figma

    Mockups before the code, when a design needs it.