Software I use, gear I rely on, and things I recommend.
I get asked a lot about what I use to build software, stay productive, or buy to fool myself into thinking I'm being productive when I'm really just procrastinating. Here's a reasonably complete list.
Workstation
MacBook Pro M4 Max, 36 GB, 16-inch, 1 TB SSD (Nov 2024)
The jump from Intel to Apple Silicon was already wild, but M4 Max takes it further. Compiles are instant, the fans are silent, and I've never once felt the machine sweat. Best laptop I've owned.
LG Ergo 4K 34-inch + LG 27-inch 2K
I run a dual-monitor setup. The 34-inch 4K handles most of my work - terminal, editor, browser all at once. The 27-inch 2K sits above for docs, Slack, or a second browser window. My wife inherited the old MSI ultrawide when I upgraded - she's a backend engineer so it's in good hands.
Apple Magic Keyboard
Clean, compact, integrates perfectly with macOS. I have Caps Lock remapped to Escape for Vim muscle memory.
Apple Magic Trackpad
The gestures just click for me. Three-finger swipe between spaces, four-finger swipe for Mission Control - once it's in your muscle memory you can't go back.
Logitech MX Master 3
Great mouse - the horizontal scroll wheel is genuinely useful for wide files and timelines. Hoping to upgrade to the MX Master 4 or something new soon.
Flowlyf Standing Desk
Electric sit-stand desk. I alternate through the day. Whether it's actually healthier or I'm just optimizing to feel productive, I can't tell anymore - but it feels good.
Greensoul Chair
Old school but it gets the job done. Probably due for an upgrade - if you have recommendations, let me know.
Development
Cursor
My primary editor. Cursor is what finally pulled me away from spending more time configuring Vim than writing code. AI-native editing with a real IDE behind it - hard to argue with.
Ghostty
My terminal of choice. Fast, native, and gets out of the way. I have a full tmux setup with Powerlevel10k, zsh-autosuggestions, and fzf. Leader key is Ctrl-A.
tmux + zsh
Custom tmux config with persistent sessions across the machines I work on. Powerlevel10k for the prompt, zsh-autosuggestions so I rarely have to type full commands twice, and fzf hooked into history search and file navigation.
TablePlus
The best GUI for databases I've found. MySQL, Postgres, Redis - all in one place, clean interface, doesn't feel like enterprise software. Saved me from building a hundred admin panels.
OrbStack
Replaced Docker Desktop entirely. Faster, lighter, and actually integrates with macOS properly. Also handles local k8s environments well.
Bruno
Git-friendly API client. Collections live as plain files in the repo, so they version-control naturally alongside the code. Replaced Postman for me entirely.
HTTPie CLI
For quick one-off API calls from the terminal. Much more readable than curl for JSON responses.
Tailscale
Zero-config VPN built on WireGuard. I use it to connect to my homelab from anywhere without poking holes in firewalls. Setup takes minutes and it just works.
Browser
Arc
The browser that actually rethought tabs. Spaces keep work and personal contexts separate, and the command bar makes navigating feel closer to a keyboard-driven editor than a browser.
Requestly
Browser extension for intercepting and modifying HTTP requests. Handy for testing redirects, mocking API responses, or overriding headers without spinning up a proxy.
Design
Figma
Where all design work starts. Also doubles as a virtual whiteboard for architecture sketches, async design reviews, and just thinking out loud with diagrams.
v0 by Vercel
Useful for quick prototyping when I want to share a rough design idea or generate a component I can then customize. Not a replacement for real design work, but great for the "what if it looked like this?" phase.
Fonts
Figtree
My preferred font for UI and the web. Geometric sans-serif that reads cleanly at small sizes without feeling cold. This site uses it.
Menlo
Default macOS monospace font and still the one I keep coming back to in the editor. No ligatures, no fuss - just clear, readable code characters.
AI
Claude
My go-to for writing, reasoning through complex problems, and code review. Usually more careful and nuanced than GPT for longer context.
ChatGPT
Still useful, especially for quick lookups and when I want a second opinion. GPT-5 is fast enough to use like a smarter autocomplete.
Codex
Still early in integrating this into my workflow, but it's promising for longer autonomous coding tasks.
Productivity
1Password
Password manager I've used for years. The browser integration and CLI are both solid. I don't think about credentials anymore, which is the point.
Slack
Work comms. It's everywhere so there's no escaping it - but the keyboard shortcuts and thread model are good enough that I don't mind.
Linear
Issue tracker that doesn't feel like it was designed to be enterprise software. Fast, keyboard-driven, and the cycle/project model maps well to how I actually think about work. Use it for side projects and freelance.
YouTube Music
Underrated. The library is massive, it surfaces stuff I wouldn't find on Spotify, and the auto-mix for any artist or song is genuinely good for long coding sessions.
Raycast
Replaced Spotlight entirely. Launcher, clipboard history, window management, snippets, and a growing extension ecosystem. If you're still using Spotlight, do yourself a favor.
Notion Calendar
Syncs across everything - work calendar, personal, side project stuff. Clean interface and it doesn't try to do too much.
Notion
Notes, docs, project tracking, and brain dumps. I use it for both work and personal projects. Also using Notion Mail now for email.
Cal.com
Open source scheduling that lets me share booking links without giving up control over my time. Self-hostable if you care about that.
Deployment
Railway
My default for side projects and freelance work. Zero infra overhead - push code, it runs. Postgres, Redis, and cron jobs all included.
Cloudflare Workers
For edge-deployed functions, APIs, or anything that needs to be globally fast and cheap. The free tier is generous enough that most side projects never need to pay.