What's in my bag

2026

What I am actually using this year.

The honest version, not the aspirational one. Pulled from the things I have actually shipped to in the last twelve months. Updated annually — anything older lives in the archive.

Languages

  • TypeScriptthe default for almost everything I build. Strict mode, no exceptions. If a type is not derived from a DB schema or inferred from a source of truth I control, it does not belong in my stack. tRPC and GraphQL have both filled this role on past projects; Outstatic is built on the same premise and is what backs this site.
  • Gowhen I want a single binary, predictable concurrency, and no runtime to babysit. Togglez is in Go.
  • Zigpicked it up in 2025 to write velk. Painful in the best way; it's the language I think about most when I'm not writing it.
  • Swift, Kotlin, Obj-Cwhen an Expo module needs to drop into the platform layer or I have to debug something the JS side can't see.
  • Luaonly because Neovim config.

Editor and tools

  • NeovimLazyVim base, my own plugin set on top. Tracked in a private dotfiles-style repo so I can roll forward across machines.
  • cmuxprimary terminal day-to-day. Tuned around agentic coding patterns with Claude Code — notifications when an agent finishes, parallel sessions, the things plain terminals make awkward.
  • Heliumbrowser of choice, with Chrome's vertical tabs.
  • Zsh + Oh My Zshfzf, nvm auto-use, jenv. Boring on purpose.
  • Claude Codepair-programming agent in the terminal. Most of my non-trivial work in 2026 has involved it somewhere in the loop.
  • Bunruntime, package manager, and script runner. Bun all the things — replaces Node + npm + ts-node + a lot of shell scripts.
  • gh CLIgit from the terminal, gh for issues and PRs, Lazygit when I want a TUI for staging hunks and rewriting history.
  • Obsidiannotes app of record. Leaning hard on the CLI plus Claude this year — capture, search, and summarize without leaving the terminal.
  • Figmadesign surface for everything visual before it becomes code.

Mobile

  • Expothe only way I start a React Native project now. Caliburr, Pod Haven, Stash Note, Equipless, and Cue all run on it.
  • React Native 0.83+new architecture, default.
  • NativeWindTailwind on native. Same vocabulary as the web side, no styled-components drift.
  • Expo server componentsused in Equipless before they were a stable bet. Worth it.

Web

  • Next.jsApp Router, Server Components, Turbopack. Portfolio site and Northeast Bridal both ride this.
  • Tailwind CSS v4the `@theme` / `@utility` direction is an upgrade over v3 config files.
  • Radix UIunstyled accessibility primitives.
  • class-variance-authorityvariant management for the Tailwind class strings on top.

Data layer

  • PostgreSQLdefault whenever I need a real database. Togglez runs on it.
  • SQLitedefault whenever I do not. Pod Haven and Nyra keep everything on-device.
  • Drizzle ORMtyped SQL, no leaky generated client. Drizzle Kit for migrations.
  • SupabasePostgres + auth + storage when I want a backend without being a backend engineer for the weekend.
  • GORMwhat togglez uses on the Go side. Ships with Postgres, SQLite, and MySQL drivers.
  • Legend Statelocal-first sync engine. Stash Note uses it on top of Supabase so edits land instantly and reconcile in the background.

Auth

  • Keycloakwhen I need self-hosted, multi-tenant, and a UI someone else maintains.
  • Apple + Google sign-inevery mobile app gets these and nothing else if I can help it.

State and forms

  • Zustandsmall global state. No reducers, no providers.
  • TanStack Formtyped, headless, plays nicely with Zod.
  • Zodschemas for forms and API boundaries.

AI

  • Anthropic APIwhat velk talks to first.
  • OpenAI APIsecond backend in velk for parity testing.
  • MCPboth as a velk feature and as the way I extend Claude Code locally.

Deploy and infra

  • VercelNext.js deploys. Where this site, Northeast Bridal, and most of my web work lives.
  • RailwayPostgres + side-services when I want one-click hosting that doesn't make me write a Dockerfile to start.
  • EAS Hostingpreview and production hosting for Expo apps and their server routes.
  • CloudflareDNS + CDN + edge sanity. Most domains point here first.
  • Namecheapregistrar of choice for everything that doesn't already live on Cloudflare.
  • Docker + Docker Composelocal infra for the parts that aren't a single binary, and the shipping format for anything that needs to land on someone else's machine.
  • Togglezself-hosted wherever it needs to be. That's the entire point of building it.

Hardware

  • MacBook Prodaily driver
  • Custom mechanical keyboardI have sunk too many hours into it
  • A second screennon-negotiable