Tools I love.
The tools I use to build things. What each one is, why I like it, and how I use it.


Frameworks
Application frameworks and the meta-frameworks built around them.
Django
Python web framework I start with for Python backends.
Django REST framework
Toolkit for Web APIs on Django. Serializers, viewsets, and a browsable API.
Electron
Desktop apps with the same JavaScript, HTML, and CSS I already write for the web.
Fumadocs
Docs framework on React. I reach for it when a site needs more than a blog's MDX pipeline.
Next.js
The React framework this site is built on: App Router, Server Components, and the image, font, and Open Graph helpers.
Nextra
MDX content pipeline for Next.js. It compiles the blog and these tool pages.
React
The library for building user interfaces, and the base Next.js builds on.
React Native
Native Android and iOS apps with the same React components I use on the web.

UI Libraries
Component libraries, styling, and design primitives.
React Bits
Animated React components I copy into the project, one at a time.
React Hook Form
Forms through `useForm`. Inputs stay in the DOM until submit.
shadcn/ui
Accessible components that get copied into the project and edited in place, built on Radix primitives and Tailwind.
Storybook
A workshop next to the app. Each component state is a story I can open without the rest of the product.
Tailwind CSS
Utility-first CSS, used here next to a hand-written stylesheet for the editorial layouts.

Databases
Databases, query builders, and everything that persists data.
PostgreSQL
The relational database I put behind Django and anything that needs SQL.
Redis
In-memory data store I use as a cache and as the broker for Celery.

AI
Models, agents, and the tools that put them to work.
AI SDK
TypeScript toolkit for text, structured output, tool calls, and agents across model providers.
Claude Code
Anthropic's agentic coding tool for the terminal, IDE, and web.
Cursor
An AI-first code editor built on the VS Code base.
T3 Code
Open-source control plane for coding agents. One app over the CLIs I already pay for.

IDEs & Tools
Editors, terminals, package managers, and everyday utilities.
Chromatic
Visual tests and review for Storybook. A pull request shows the pixel diff.
Claude Code
Anthropic's agentic coding tool for the terminal, IDE, and web.
Cursor
An AI-first code editor built on the VS Code base.
GitHub
Where this site's git repo lives. Issues, pull requests, and the remote I push to.
nuqs
Type-safe search params as React state. This catalog's category filter lives in the URL.
pnpm
Fast, disk-efficient package manager. Strict by default about what a package can import.
Storybook
A workshop next to the app. Each component state is a story I can open without the rest of the product.
T3 Code
Open-source control plane for coding agents. One app over the CLIs I already pay for.
Turborepo
Task runner for monorepos. It caches package.json scripts and schedules them across cores.
TypeScript
Typed JavaScript, with strict mode on in this repository.
zod
TypeScript-first schemas. I parse untrusted input before I treat it as a typed value.

Hosting & Infra
Hosting, deployment, and what keeps things running.
Celery
Python task queue. The request returns, a worker does the slow job.
Docker
Containers I use to run the same app on my laptop and on a VPS.
Vercel
Where I deploy this Next.js site. Git push, preview URL, then production.