My setup

I'm a bit of a pedant when it comes to the gear that I use everyday. I like to use good quality things that make my life easier.

I change aspects of my setup fairly often so this page will serve as a living document and a place to point curious developers to when I get asked.


MacBook Pro πŸ’»

I have the 2017 13" model (without the touch bar). It is amazingly lightweight, the battery lasts for ages and is a brilliant machine. Now that I use it as my primary work device, it is put under more strain, but it still handles everything I throw at it with ease.

WhiteFox mechanical keyboard

This is my latest mechanical keyboard, it is very small and pretty cool. I love the fact that it can easily be configured so the keys can be changed exactly to my preferences.

Code mechanical keyboard

This was my first foray into mechanical keyboards. It is a fairly straightforward tenkeyless keyboard and a real workhorse. I added the Royal Navy keycap set to personalise it a bit more.

Anker Wireless Vertical Ergonomic Optical Mouse 🐭

This is my current mouse. It was recommended to me by a colleague and I can't recommend it highly enough. It is great for easing the stress on my wrist. It's also Β£14 so it's a steal. I also use the SensibleSideButtons app to enable the back/forward buttons with this mouse; there are plenty of other apps that can configure buttons to do all kinds of crazy things, but this app has everything that I need.

Logitech MX Master πŸ–±οΈ

This was the mouse I used before the Anker mouse. I use it again from time to time. It is great.

Apple Magic trackpad

I use this for when I need better multi-touch support, like when navigating artboards in Sketch, Figma or zooming into pdfs.


Alfred πŸ’ͺ

I use Alfred in nearly every aspect of my work. I use it for searching the net with its custom web searches (e.g. npm, JIRA, bundlephobia, MDN and many more); looking up obscure programming information with the Dash workflow; searching npm with the npms workflow and loads more. It truly is a massive productivity booster.

VS Code πŸ‘¨β€πŸ’»

Having been a long time Sublime Text user, I made the switch to VS Code last year and haven't looked back.

My settings can be found here and a list of my installed extensions can be found here.

1Password πŸ”’

I never need to worry about passwords anymore. It integrates with my browser (via their extension) and the Mac app automatically copies one-time passwords to the clipboard so I don't even need to manually do it. It's also great on the iPhone; since iOS 12 was released, the integration with the OS is massively improved.

Firefox Quantum: Developer Edition

Firefox Developer Edition is the main browser that I use when developing.

Brave βš”οΈ

I use Brave for my personal browsing. It has an in-built ad-blocker and fingerprint detection so it i

Terminal and the command line

I usually use the built in terminal within VS Code but when I need more space or I'm not using it for something code related, I use iTerm2. Also, instead of bash, I use Fish Shell. See my config here.

Tower 🏰

I use this for most of my git workflow.

Bear 🐻

I've just moved after trying out numerous other note-taking apps. It is brilliant.

Things πŸ€”

The best Mac/iPhone-based task list/productivity app I know. Find out more from The Sweet Setup.

Ping menu

A super simple menubar app I use to help network connectivity and speed issues.

Magnet 🧲

Window snapping and positioning.


Dash is an API Documentation Browser and Code Snippet Manager. or the Devdocs app are free alternatives.

NightOwl πŸ¦‰

This app automatically switches from light/dark mode at sunrise/sunset. πŸŒ—


The best personal VPN service in my opinion. Great apps for Mac and iPhone.

Bartender 🍸

Hide some of those pesky menubar items.

← Back