Skip to content

My setup

The tools I reach for every day. No affiliate links, no sponsorships — just what actually works.

Hardware

MacBook Pro 14" M3 Pro Daily driver — fast builds, silent fans
Dell UltraSharp 27" 4K External monitor — sharp text, accurate color
Keychron K2 V2 Mechanical keyboard — Gateron Brown switches
Sony WH-1000XM5 Noise-cancelling headphones — essential for deep work

Editor & Terminal

Claude Code Primary AI coding assistant — thinks with me, not for me
Cursor AI-powered editor for heavy refactoring sessions
VS Code Workhorse editor, with Neovim for config files
Ghostty Terminal emulator — fast, minimal, GPU-accelerated
zsh + Oh My Zsh Shell of choice
Catppuccin Mocha Theme everywhere — warm and legible
JetBrains Mono Editor font — ligatures on

AI Tools

Claude (Anthropic) Primary AI assistant for code review, architecture discussions, and complex problem-solving
Claude Code Terminal-based AI coding assistant for building and refactoring
Cursor AI-powered editor for rapid prototyping and pair programming
GitHub Copilot Inline code completion and suggestions

Dev Tools

Docker Local environments, everything runs in containers
TablePlus Postgres and Redis GUI
Bruno API testing — open source, git-friendly
Linear Task tracking that gets out of the way
Obsidian Notes, writing, and linking ideas
Raycast Launcher, snippets, and clipboard history

Services

Vercel Hosting this site and side projects
Neon Serverless Postgres — branches like git
Upstash Redis for rate limiting and caching
Cloudflare DNS, R2 storage, and edge workers
Resend Transactional email that just works
GitHub Code, CI/CD, and Actions
Anthropic Claude API for AI features in production

This Site

Astro 6 Framework — zero JS on static pages
TypeScript End-to-end type safety
Tailwind CSS v4 Styling with @theme tokens
Mithila II Design system — inspired by 2,000-year-old Madhubani painting from Bihar
Motion Animations via React islands
Vercel Deployment and edge functions