I get a lot of questions about the tools I use for different parts of my work, so inspired by my friend Wes Bos, I've put together this "uses" page that covers every part of my setup.
A few of the links below are affiliate links which means I get paid or rewarded in some way if you use them to purchase, but rest assured these are all tools and services I actually use.
This is my main machine and what I use for 99% of my work. Having a desktop computer is a little out of vogue these days but I love it. There's still nothing on the market that can compete with the display and with everything integrated, it all just works.
I can't stand the arrow keys on the keyboards Apple makes today so I use this relic instead. They didn't make the wired version for very long so it can be hard to find but the wireless one takes AA batteries which is a huge pain.
Used to think I preferred the trackpad after being a laptop-only user for so long, but I love the extra precision you get with a real mouse, especially for video and audio editing.
I keep this on the left hand side of my keyboard but it doesn't see much use. Usually just to scroll Twitter if my right hand is busy holding a drink.
I use this machine if I want to mess around on the internet while I'm sitting on the couch, and for work if I'm traveling. I also use it as sort of a second display when I'm live streaming or recording screencasts, so I can refer to my notes or watch the chat. Especially nice for screencasts because I don't have to move the mouse on my main computer to check something else.
This desk has poor reviews for some reason but I think it's great. It's quite big, really deep, and super stable. I stand probably 25% of the time and don't really find the lack of presets to be a problem.
Super expensive but worth every penny for me.
Still the most productive text editing environment I've ever used. Any time I try something else, within minutes I run into dozens of things it's missing or that Sublime does better.
It's not as good as Sublime at editing text but trying to give it an honest go these days because the community is so big and development is really active. Favorite feature it has over Sublime is the integrated terminal. You can check out all of my VS Code settings here.
Material Theme (customized)
Tried a lot of themes but this is the one I keep coming back to. I've customized it a bit (in both Sublime and Code) to use a darker background to increase the contrast — not super important for my own work but looks better in screencasts.
Pretty sure this is the default font in Sublime on macOS. Any time I've tried something else I never like it as much, not even Operator Mono.
I'd like to give Firefox another shot one day but for now still using Chrome for both development and general browsing.
Sizzy is a cool browser specifically for responsive design. It lets you view all of the breakpoints for a site at the same time and also does a good job auto-scaling fixed size viewports to fit whatever window size you're using. It hasn't found its way into my main development workflow yet but I use it a lot for screencasting, presentations, and live streams.
Still using this for all my MySQL stuff but the lack of JSON column support in a stable release is pushing me to try TablePlus again.
Love this terminal, I especially like being able to create keyboard shortcuts that run terminal commands. I use `cmd+enter` for `git status` for example.
I keep all my public and private repositories on GitHub, and have been doing it that way since way before it was free. Just wasn't worth saving a few bucks a month to have different projects scattered across different hosts.
Really great tool for remote pair programming. Like Screenhero used to be, but better.
Figma is like Sketch but a million times more performant and cross-platform. It's the most impressive web app I've ever used.
I don't do a ton of raster image editing but when I do Pixelmator is great. Has all of the features someone like me needs from Photoshop without getting sucked into Adobe's whole subscription system.
So good for quickly optimizing SVGs. I use SVG all over the place in my projects and end up using this tool many times each week.
Really great for optimizing raster images like PNGs and JPEGs. Reduces the file size dramatically with no discernible difference in quality.
Great little color picker tool for grabbing a color from anywhere on your screen.
For anything that needs to run PHP, I use DigitalOcean. At the moment my main PHP projects are the course viewer apps for my Advanced Vue and Test-Driven Laravel courses, and those each run on their own 2GB Droplets. I also use DigitalOcean Spaces a lot for static asset hosting — it's like S3 but 100x simpler.
For my static sites (like this one), I use Netlify. It is probably my favorite app that I interact with on a regular basis. The UI is beautiful, the experience is awesome, and the app is insanely fast. I get excited every time I have an excuse to use it for something new.
All of my Laravel projects are managed by Forge. Been a customer since day one and don't know what I'd do without it.
I use Envoyer to deploy my important Laravel projects to avoid down time during deploys.
I register all of my domain names through Hover. I think it's a little more expensive than some of the other options, but the UI is simple and reliable and not loaded with dark patterns like some of the cheaper competitors. Happy to pay a bit extra to do business with an honest and reputable company.
I forgot to add this originally because it's so baked into my workflow that I forgot it was even there. I use it to launch apps, for clipboard management, for customer support snippets, and probably tons more I'm still forgetting.
I use Todoist to keep track of my todos. I really like the scheduled and recurring tasks features, lets me use Todoist for a lot of stuff that you might normally put in a calendar.
I use Calendly to schedule podcast interviews and other meetings. So much nicer than trying to work out a time to chat by going back and forth in an email thread.
I use Airmail for email almost entirely because it supports writing emails in Markdown.
Such a great password manager, installing this for the first time was life-changing.
I keep all my important files in Dropbox so they are available on both my machines. I don't use anything else for backups because literally nothing that isn't in Dropbox is important.
Awesome little VPN tool for when I'm on a public network or want to test what a site looks like from another country.
I use ConvertKit for all of my email marketing. It keeps track of everyone who has ever signed up on any of my product landing pages, as well as who has purchased anything from me. I have a handful of automated email sequences set up that pitch my courses to potential customers and it all basically runs itself. Highly recommend it if you want to build an email list!
Bench handles all of the bookkeeping for my business. My bookkeeping needs are honestly pretty simple compared to many other businesses, but it's something I absolutely hate doing and always leave to the last minute, causing myself a lot of stress. It's not cheap but it's so worth it to me just to not feel like I'm always dropping the ball on it.
Until Steve and I wrote Refactoring UI, I'd always done customer support through my personal email. I set up a HelpScout account for us when we released the book because I anticipated a lot of support and it is so much nicer than handling everything via email. Awesome tool.
The holy grail of broadcast mics, I've been using the SM7B since my audio engineering days when I was recording bands for a living. Sometimes I'm tempted to try something else out of pure curiousity, but so far the SM7B is still the winner.
I use these headphones to monitor my own voice when I'm recording screencasts or podcasting. I've owned them for like 12 years and they show zero signs of wear. German engineering man, gotta love it.
I used to use the Focusrite Scarlett 2i2 (the first generation), but was having weird digital clicks in my recordings. Upgraded to the 2i4 (new generation) and they went away. Pretty sure a new 2i2 would have fixed it too, but I love the input/output blend knob on the 2i4 for controlling how loud my own voice is compared to the person I'm interviewing.
The SM7B needs a lot more gain than most mics, so this little inline preamp is great for getting the levels up without investing in a really expensive mic preamp. Like a Cloudlifter but without the need for an extra cable.
I use this to record any on-camera stuff for screencasts. Totally love it, looks super pro.
I use this to light my face better when recording video. Happy I spent the extra money on this, at first I thought controlling it all from my computer would feel like a gimmick but now I realize I would have gotten tired of reaching behind my desk to turn it on and adjust the brightness really fast.
I use this to connect the Sony a6000 to my computer as a webcam. Makes it a lot easier to record because I can record directly to my computer instead of to the SD card in the camera.
I use this to keep my mic out of the way when I don't need it, but easy to access when I do. In hindsight I wish I had gotten the Heil PL2T because the XLR connector placement on the SM7B limits your mic placement options a bit with the PSA1, but it hasn't been too much of a problem.
I use this to record all of my podcast interviews. Fantastic software, highly recommended.
I host all of my course videos on Vimeo. It's essentially the only option — everything else is crazy expensive in comparison. Awesome service though, absolutely love it.
I host my podcast on Simplecast. I am on a really affordable grandfathered plan from an earlier version of their product so I might have chosen something else if I was shopping for podcasting hosting today, but I'm happy with it for what I pay.
I use Zoom for all my podcast interviews, as well as any regular video calls I do. I hate the app so much (so many damn modals and toolbars everywhere!) but the call quality is better and more reliable than any other tool so I tolerate it.
I record all my screencasts with the basic QuickTime Player app that ships with macOS. Works great for me because I edit in REAPER, but for most people I'd recommend just using ScreenFlow for both recording and editing.
This is what I use to live stream. It works perfectly fine but I wouldn't mind trying a commercial alternative with a bit more polish, maybe Ecamm Live.
I do all my screencast and podcast editing in REAPER. It's a super hackable DAW created by the guy who originally created Winamp, and I've been using it for about 12 years. It's basically the Vim of audio editing software, so I wouldn't recommend it if you don't have the time and energy to heavily invest in customizing it for your workflow, but I can move like lightning in this thing.
I use these to control the echo in my office for podcasting and screencasting. They work a million times better than that cheap foam crap and look a lot better on the walls too.