Software I use, gadgets I love, and other things I recommend. I see a lot of other developers making a "uses" page, so I figured I might as well too. Here's a big list of all my favorite stuff.
This page may contain affiliate links and I may earn a small commission when you click on the links at no additional cost to you.
Development tools
-
Warp Terminal
My terminal of choice is warp. I'm also using the Z shell and Oh My Zsh.
For theming, I use the Base16 Material theme, which is a custom theme from Warp. The font I use is Source Code Pro for Powerline. I also use several custom aliases and functions.
All my terminal settings are saved in my dotfiles repository. If you want the same environment, you can follow the installation instructions of the repo. I do recommend forking and customizing the installation script to fit your needs, however.
-
PhpStorm
PhpStorm is still my IDE of choice. I've tried many others in the past including Visual Studio Code, Sublime, or Atom, but I keep coming back to PhpStorm. Here's a screenshot of my editor setup:
I'm using the One Dark Theme with the Vivid color scheme, and I use Fira Code as my editor font.
Since I mostly work on Laravel projects or packages, I usually enable the Laravel Idea plugin. It's a paid plugin, but it's definitely worth the money since it can provide stuff like auto-completions for route names, request fields and more.
To make testing more convenient, I also like to use the Pest Plugin. It makes Pest a first class citizen in the IDE, and as another perk, it's completely free.
I've also found it very helpful to configure tasks to run both
npm run dev
andphp artisan horizon
automatically when I open projects, so I don't need to keep manually running them. -
Laravel Herd
Using Herd for local development is a no-brainer. In my experience it's made it much easier to manage my sites and local php and node versions, plus it runs each site much faster.
The free version is enough for my needs, as it's easy enough to install and run my own MySQL/PostgreSQL instances without needing to pay for Herd to do it for me.
-
DBngin
Speaking of databases, DBngin makes it trivial to install and run instances of MySQL and PostgreSQL locally. I used to just install them through Homebrew, however I've found this to be much better solution for my requirements.
-
Ray
-
TablePlus
In the past, I've used DataGrip from JetBrains to manage my databases. Now, I prefer to use TablePlus, as it is much simpler to use.
-
Helo
For email testing, I love using Helo.
-
Tinkerwell
Another amazing product from BeyondCode, Tinkerwell makes running arbitrary code either locally or even remotely via ssh simple to do.
-
Transmit
Sometimes to connect to S3, FTP and SFTP servers, I like to use Transmit.
Hardware
-
16" MacBook Pro, M1 Pro 32GB RAM (2021)
I was using a 2019 Intel-based 27" iMac prior to this and the difference is night and day. No matter how many apps I have running or how much load I put it under, the MacBook Pro continues to perform beautifully. It's also extremely quiet; I haven't even heard the fans spin up once since I've had this laptop.
The MacBook has the M1 Pro processor, 32 GB RAM and a 1 TB SSD.
-
OWC 11-Port Thunderbolt Dock
I looked at a lot of docks, and I've found that the OWC 11-Port Thunderbolt Dock does an amazing job for a docking station. It's not the cheapest dock, but it has everything I was looking for in a docking station.
I'm able to connect both my monitors, my external drive for backups, ethernet, and more all with a single cable running to the MacBook. As a plus, it also charges the MacBook at the same time.
-
Dell S2725DS 27-Inch Monitor x2
I've been upgrading my home office setup, and these monitors have been part of that upgrade. So far I'm very happy with the picture and color quality of the monitors, and the pricing really wasn't too bad either. Here's the link to buy them.
-
LG 32UN500-W 32-Inch Monitor x2
While at the office, I'm usually docked and use two 32" monitors from LG in addition to the built-in screen from the MacBook. Here's the link to buy them.
-
Desk
Another part of my recent office upgrade was the Sanodesk 72x30 Standing Desk. Overall, I love this desk so far. The bamboo top looks and feels great, and I have plenty of room on the desk to set it up how I want to. Being able to raise it to a standing position is also nice too when I get sick of sitting.
-
Monitor Arm
I prefer using monitor arms over the default stand that most monitors come with, and at the end of 2022 I switched to the HUANUO Dual Monitor Stand. It's a single mount with two monitor arms, and it holds the monitors in place nicely. Each arm is flexible in where I can position them.
I was previously using two separate monitor arms, but I felt having one single mount was much nicer and provided me with a cleaner setup.
-
Laptop Mount
To free up desk space and add more flexibility, I added a Crestview Monitor Arm by UPLIFT Desk, paired with their laptop mount.
-
Epomaker x Aula F99 Keyboard
By far the best mechanical keyboard I've ever used. The Epomaker x Aula F99 Keyboard looks and sounds amazing out-of-the-box.
However, I chose to put in Gateron Baby Kangaroo tactile switches, along with some KBD Fans Retro Doubleshot PBT Keycaps. I love how the baby kangaroo switches sound and feel, and the retro keycaps paired nicely with this board in my opinion.
My only complaint with this board is how much it flexes when changing out the switches.
-
Logitech MX Master 3s Mouse
Even when not docked, I still prefer an external mouse for most operations. I really love the Logitech MX Master 3s mouse. For me, it feels great to hold, and it also provides support for some macOS gestures like swiping up for mission control.
-
Samsung 1 TB Portable SSD T7 Touch
For my time machine backups, I use the Portable SSD T7 Touch external ssd from Samsung.
-
Apple AirPods Pro 2
When I need headphones, I love using my Apple AirPods Pro.
-
Phone
My current phone is the iPhone 16 Pro Max with 256 GB of storage.
-
Watch
I never was much of a watch person until I bought my Apple Watch Series 7. Now I feel naked if I leave home without wearing it.
-
YubiKey 5C NFC
For websites and services that support Webauthn authentication, I use a YubiKey 5C NFC security key. This particular key is nice because it works with both my MacBook and my iPhone without having to use any adapters.
I highly recommend purchasing at least one of these to use a form of two-factor authentication for websites that support it.
-
Anker Wireless Charging Stand
The Anker Wireless Charging Stand provides a convenient way to wirelessly charge my phone at the office, and also acts as a nice stand to keep my phone off the desk. It's MagSafe too, which is a plus.
-
Logitech Z407 Bluetooth Speakers
For the home and the office, I didn't want to go crazy on buying an expensive set of speakers. I went with the Logitech Z407 Bluetooth Speakers for a cheaper solution, but they still sound decent for my needs.
-
Laravel Desk Pad
I like a big desk pad and when I can I try to support Laravel, so of course I was going to buy Laravel Desk Pad when I found it. The quality and size of the pad are great and worth every penny.
-
Laptop Messenger Bag
For transporting the MacBook between home and the office, this messenger bag works nicely and has plenty of room for accessories.
Software
-
macOS
For the longest time I was a Windows user, until roughly late 2019 or so when I decided to give macOS Catalina a try. Now that I've been using it for a few years now, I can positively say I wouldn't ever switch back. For me, I love the development experience I get on a mac and the UI simple to work with. It's also great that it just works seamlessly with my other Apple devices.
I like to keep my desktop pretty clean, so I hide the dock by default and never save anything to the desktop itself; not even drives are allowed on my desktop. I also only keep the apps are currently running in the dock and hide the indicator for running apps (that dot underneath each app), because if it's in the dock it's running. Here's a screenshot where I've deliberately moved my pointer down so the dock is shown.
In my dotfiles repo you'll find my custom macOS settings.
-
Raycast
I've never liked Spotlight on macOS, and previously I used Alfred as a replacement. However, now I've discovered Raycast. Raycast is my primary mode of navigating through macOS, as I've bound the keyboard shortcut to cmd + space (overriding Spotlight's keybinding).
Some of the extensions I've installed for Raycast include:
- JetBrains Toolbox Recent Projects: Allows me to open up a PhpStorm project from anywhere.
- Laravel Docs: Allows me to search the Laravel Docs from anywhere.
- Tailwind CSS: Allows me to search Tailwind Docs and classes from anywhere.
-
1Password
If you're not using a password manager, you're doing it wrong. I prefer to use 1Password. I honestly don't think I could live without 1Password. Having access to all my vaults across all my devices is also a plus.
-
Mackup
All settings from my apps are backed up to iCloud using Mackup. This is a fantastic piece of software that moves all your preferences to your cloud storage provider of choice and symlinks them.
-
Backblaze
In addition to time machine backups, I also use Backblaze as an offsite backup.
-
Browser
My browser of choice is Google Chrome, although I occasionally will use Firefox or Safari too. To block ads on certain sites, I use the AdGuard extension.
-
Spark
On both my MacBook and iPhone, I prefer to use the Spark Mail App for handling my emails.
-
Spotify
I'm almost always listening to music either at work or when I'm driving, so Spotify is very nice to have for streaming music.
When I'm just trying to focus, lately I've been listening to either the Coding Mode playlist or the Beats to think to playlist.
-
Bartender
Bartender is a nice little utility that helps manage how the menu bar is laid out for macOS.
-
Showcode
Showcode makes it easy to share beautiful screenshots of code snippets.
-
DaisyDisk
DaisyDisk is a nice utility that helps you analyze how your disk space is being used. It's honestly a utility that I should probably use more often.
Miscellaneous
-
Laravel Forge
Laravel Forge is an amazing service offered by the Laravel team to provision and manage servers. I use it for both my personal and work related servers.
-
DigitalOcean
The vps server provider I still use for a lot of projects is DigitalOcean.
-
Hetzner
For some projects I've started to use Hetzner for vps hosting. I've found you can get more powerful servers for a cheaper cost than with providers like DigitalOcean.
-
Google Workspace
I typically will use Google Workspace for both personal and work use to manage mail and calendars for custom domains.
-
Laravel Shift
I've only used Laravel Shift a few times, but each time I did it saved a lot of time upgrading my Laravel projects.
-
Expose
Whenever I need to bring up local sites on my phone or share with someone, I use Expose. It also works perfectly for testing Webhooks for third-party apis.
-
GitHub
GitHub is my preferred development platform. I feel that it provides the best experience for contributors.
-
Flare
To track exceptions in production, I've found Flare to be very helpful.