Uses

A running list of the hardware, apps, and command-line tools I reach for every day. Almost all of it is symlinked from my dotfiles and installed by a single bootstrap script when I set up a new Mac, so the setup is the same on every machine I touch.

Hardware

  • An Apple Silicon Mac.

Editor and AI

  • Visual Studio Code is my primary editor.
  • Neovim for quick edits without leaving the terminal.
  • Claude Code is the agent I run in the terminal for larger, multi-file work. This site was built with it.
  • Ollama runs models locally so I can work offline and keep code on the machine.

Terminal and shell

  • iTerm2 as the terminal emulator.
  • zsh with the Powerlevel10k prompt.
  • tmux for splitting and persisting sessions.
  • fnm switches Node versions per project; pyenv does the same for Python.
  • Homebrew and pnpm for package management.

Window management and keyboard

  • yabai for tiling window management.
  • Karabiner Elements for keyboard customisation.

Languages and runtimes

Day to day

PHP 8, Node (via fnm), Ruby (for Jekyll), Python (via pyenv)

Tooling

Composer, WP-CLI, Webpack, Sass

Command-line tools

Search and files

ripgrep, fd, fzf, the_silver_searcher, eza, ncdu, rename, coreutils

Media

ffmpeg, ImageMagick

Workflow

gh, jq, htop, tmux, parallel, wget, terminal-notifier, tlrc

Quality

shellcheck, Prettier, ESLint, stylelint

Containers and local dev

  • Docker for everything local. Each project gets a containerised environment that matches production from day one, including this site.

Apps

  • Brave as the primary browser, Firefox as the secondary.
  • Tower when I want a git client; the command line otherwise.
  • Sketch for UI design and GIMP for image editing.
  • LibreOffice for office files and headless document conversion.

Fonts

Coding

Fira Code, Input, Sauce Code Pro Nerd Font, Monoid

Interface and web

Montserrat (this site), Lato, Open Sans, Roboto

Want to get in touch? Connect on LinkedIn or send an email .