Here's a list of software & hardware I use on a daily basis as a freelance software developer.

Editor & Terminal

  • Whenever possible, I use tmux + Vim in iTerm2. Truthfully, it’s been so long that I don’t really remember what the benefits are. I use iTerm2 because it of the ability to move the tabs into the chrome.
  • I create a separate tmux session for each project I’m working on. Each window typically has a 70/30 horizontal split with code on the top pane and a command prompt on the bottom. I’ll further split the bottom pane vertically to add live logs, tests or any other temporary data.
  • For iOS development, I use Xcode 🤯
  • I use the Fira Code font in iTerm2 and Xcode because ligatures make me happy.


  • I track my hours with Harvest.
  • I block apps from using data when tethering with TripMode. No, Xcode, you may not auto-upgrade while I’m on cellular data.
  • I create low-fidelity wireframes with Balsamiq.

Desk setup

  • I use a three monitor layout. The monitors themselves are nothing special. I’m looking to upgrade but 1) don’t want to settle for anything less than retina and 2) can’t afford 2 retina monitors 💸
  • My primary monitor contains my code editor and a browser for googling.
  • To my right is my 16-inch MacBook Pro. I use its retina screen to run whatever I’m coding, whether it be a web app or a mobile app.
  • My left monitor contains real-time, transient data: Slack, Tweetbot, YouTube, etc.
  • The two monitors are mounted on an AmazonBasics dual monitor arm and the laptop sits on a Rain Design mStand.
  • I swapped out my Ergodox EZ in favour of a Microsoft Sculpt Ergonomic Keyboard due to the negative tilt + wrist rest combo.
  • Apple Magic Trackpad 2, no mouse.
  • Everything sits atop my 78x30 Jarvis standing desk with a TR-1200 DT3 under desk treadmill underneath it.
  • Question: How do people sit when they have an under desk treadmill? It’s too heavy to move regularly and I always want to be at the centre of my desk. I currently move a PRÄSTHOLM over my treadmill when I want to sit. Not ideal.