My working kit

Tools I love.

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

29 tools6 categories

Frameworks

Application frameworks and the meta-frameworks built around them.

8 tools
  • 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.

5 tools
  • 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.

2 tools
  • 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.

4 tools
  • 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.

11 tools
  • 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.

3 tools
  • 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.