What I use
every day.
The hardware, software, and AI tools that make up my daily engineering workflow. Opinionated picks — these are things I actually use, not a sponsored list.
Editor & IDE
- Editor & IDECursor favourite
My primary editor for nearly everything. The AI pair-programming built into the editing loop — not bolted on as a sidebar — is genuinely the most productive setup I've found. The Tab completions understand context across files in a way Copilot never quite did.
cursor.sh ↗ - Editor & IDEXcode
Non-negotiable for Swift / SwiftUI / iOS work. I still use it for the simulator, Instruments profiler, and native SwiftUI previews. No serious alternative exists in this space.
developer.apple.com ↗ - Editor & IDEVS Code
Kept around for config-heavy editing, markdown, and tasks where I want zero AI involvement. Also the fallback when a project's devcontainer doesn't play well with Cursor.
code.visualstudio.com ↗
AI Tooling
- AI ToolingClaude (Anthropic) favourite
Claude Opus 4 and Sonnet 4 are my go-to LLMs for architecture thinking, code review, writing, and complex reasoning. Consistently better than GPT-4 for nuanced technical discussions and long-context work. I use Claude Code for agentic tasks directly in the terminal.
claude.ai ↗ - AI ToolingAntigravity (AGY) AI
IDE-integrated AI coding agent I use daily for autonomous multi-file tasks — refactoring, generating tests, implementing features from specs. Significantly faster for non-trivial work than chat-based workflows.
- AI ToolingOpenAI Codex / GPT-4o
Secondary model for quick one-shot tasks, code translation between languages, and cases where I want a second opinion on an architectural decision.
openai.com ↗ - AI ToolingPerplexity new
Replaced Google for most technical research. The cited, up-to-date answers save a lot of tab-hopping when evaluating packages, docs, or changelogs.
perplexity.ai ↗
Terminal & Shell
- Terminal & ShellWezTerm favourite
GPU-rendered terminal with a Lua config that actually makes sense. Replaced iTerm2 after a few days — faster, more customisable, and the multiplexer is good enough that I barely reach for tmux.
wezfurlong.org ↗ - Terminal & ShellZsh + Starship
Starship prompt gives me Git branch, exit codes, and language version in the prompt line with zero startup overhead. Config lives in a dotfiles repo.
starship.rs ↗ - Terminal & Shellmise new
Replaces nvm, rbenv, pyenv, and sdkman in one tool. Declarative `.mise.toml` per project means runtime versions are committed alongside code — no "works on my machine" nonsense.
mise.jdx.dev ↗
Local Dev
- Local DevLaravel Herd favourite
Native macOS PHP / Laravel environment with zero Docker overhead for local development. Isolated PHP versions per site, built-in Nginx, one-click SSL. I still use Docker for production parity in staging but Herd is unmatched for day-to-day speed.
herd.laravel.com ↗ - Local DevTablePlus
The best GUI for databases on macOS. Supports MySQL, Postgres, Redis, SQLite, MongoDB. Clean UI, fast, native. I open it many times a day.
tableplus.com ↗ - Local DevProxyman
HTTP proxy / debugger for inspecting network traffic from iOS simulators and devices. Essential when debugging API integrations in mobile apps.
proxyman.io ↗ - Local DevDocker Desktop
For running dependent services locally (Postgres, Redis, RabbitMQ, Localstack) in docker-compose stacks. Also used for any production-parity build validation.
docker.com ↗
Desktop Apps
- Desktop AppsRaycast favourite
Replaced macOS Spotlight entirely. AI commands, clipboard history, window management, and deep integrations with GitHub, Jira, and calendar. The free tier covers most of what I need.
raycast.com ↗ - Desktop AppsObsidian
My second brain — architecture notes, project journals, meeting notes, and long-form writing drafts. Local-first Markdown files synced via iCloud. The graph view is useful for connecting ideas across projects.
obsidian.md ↗ - Desktop AppsLinear
Project and issue tracking for personal and client projects. Fast, keyboard-driven, and the roadmap views are genuinely useful. Far better UX than Jira.
linear.app ↗ - Desktop AppsCleanShot X
Screenshot and screen recording tool. Annotate, OCR, scroll-capture, and record GIFs without leaving the flow. Indispensable for writing docs and bug reports.
cleanshot.com ↗
Hardware
- HardwareMacBook Pro 16" (M3 Pro) favourite
Primary machine for everything. The M3 Pro handles Docker stacks, iOS simulators, and large codebases without a fan spin. 36 GB unified memory means I rarely feel constrained.
- HardwareLG 27" 4K IPS Monitor
Side monitor for reference, browser, and terminal. Not the best panel on the market but the 4K resolution at 27" hits a sweet spot for code density.
- HardwareApple Magic Keyboard + Trackpad
Nothing exotic — the Magic Keyboard with Touch ID is good enough and keeps the desk minimal. The trackpad gesture support on macOS is still unmatched.
Open to interesting work.
Backend architecture, native iOS, or AI-augmented engineering — available for freelance and contract projects.