Development Software

Code Editor

Visual Studio Code

I begrudgingly use VS Code because so many vital extensions are exclusive to it. It’s bloated, laggy and very Electron, but it’s still where I am most efficient with 90% of my coding.

  • AI Assistant

    Github Copilot

    Hands-down, my most used AI tool. The contextual knowledge it has and the inline as-I-code UI is just brilliant. It does the grunt work of so much of my coding now.

  • Mono Typeface

    Github Monaspace

    I change coding typefaces with the wind, but Monaspace has managed to earn a record tenure. Free, thoughtful, and very fun.

  • Theme

    Catppuccin Notcis Macchiato / Latte

    I first discovered Catppuccin via the Nova theme, and I’ve been all-in on it ever since. I even created custom Warp and Raycast themes to match.

Alt Editor

Nova

A Panic-flavored, Mac-assed editor that I adore. It’s snappy, fun, and very thoughtfully designed. Sadly, the extensions ecosystem hasn’t taken off and it can’t compete with some of VS Code’s QoL features. I use Nova as much as I can, but it’s mostly only when I’m doing static HTML or simple Type/Javascript.

Dev Environment

Laravel Herd

I was on Laravel Homestead for years, but I swapped the day that Herd was released and haven’t looked back. The fact that I very rarely think about my local dev environment is something I already take for granted. It truly just works.

Debugging

Ray

It’s like console.log for PHP, but far more robust. Absolutely indispensable when I’m working in Laravel. I can easily trace bugs, track data flow, view queries, and way more. The first package I add to any new project.

Database GUI

TablePlus

I’m not spending all day staring at databases, but when I do need to dive into MySQL, TablePlus is everything I need. A beautiful Mac-native design, super fast, and constantly being improved.

Playground

Tinkerwell

Not a daily-use app for me, but as a playground for Laravel work, there’s nothing better. It’s also surprisingly great for doing simple queries and actions in production.

Terminal

Warp

I’m spending more and more of my time in the terminal lately. I was an iTerm guy, then Hyper, but I’ve been all-in on Warp since I discovered it. It has some amazing power-user features that are still very approachable to a CLI journeyman (me).

Interface Design

Figma

Similar to my relationship with VS Code, I use Figma somewhat begrudgingly. It’s bloated and slow (compared to Sketch) but its collaboration features are S-tier, and it’s the tool that every designer I work with uses.

Photo Editing

Pixelmator Pro

When I need to do image manipulation, it does the job fantastically with a gorgeous UI that I honestly wish I had more reason to use.

General Productivity

Launcher

Raycast

I tried Alfred several times and it never stuck. Raycast, au contraire, hooked me on first invoke. Beautiful and well-integrated into macOS, with a powerful and intuitive extension library. I pull it up dozens of times a day, often to quickly chat with any of the AI models they interface with. It’s difficult to articulate just how revolutionary Raycast has been to my workflow.

Email

Hey

I got my Hey.com email address on launch day and have been using it exclusively ever since. We use their business plan for Jill White Fitness as well, and it’s fantastic.

Google Mail

Mimestream

We use G Suite at geniant, but I hate using the Gmail web interface. Thankfully, I rarely have to, because Mimestream is a delightful mail app specifically for Google accounts. This is probably the sixth Gmail client I’ve used over the years, and it’s the best one yet.

Notes

Obsidian

I’m not a big note-taker, but I used Bear as my scratchpad for years. I recently migrated everything over to Obsidian, and I’m still wrapping my head around it. Even for a non-power user like myself, the customization, queries, and deep linking are extremely useful, and I expect I’ll be going pretty deep down the rabbit hole over the coming months.

Weather

Mercury Weather

Mercury draws clear inspiration from my previous pick Weather Line (R.I.P.), but adds a few additional features while keeping it a simple, single-view weather app. Great on both iOS and Mac.

Delivery Tracking

Parcel

I was a Deliveries user for nearly a decade, but switched to Parcel last year. It’s a menu bar app that helps me track my deliveries. 🤷‍♂️

My Workspace

Laptop

14” M3 Pro MacBook Pro

The performance and battery life of the M-series Mac is truly a modern marvel. Much of my core software tools are Mac-exclusive, so I’m not switching to Linux anytime soon.

Laptop Bag

WaterField Shinjuku

There’s nothing like a functional, well-made bag, and WaterField’s design and quality are legendary. I’ve had their Muzetto sling bag for nearly 15 years and it’s only gotten better with age. The Shinjuku is compact, handsome and exceptionally well-made. And it fits everything I need to bring back and forth from the office or on a plane.

Keyboards

Keychron Mechanical Keyboards

I’ve gone way down the mechanical keyboard rabbit hole, and have two custom boards - one at home and one at the office. Both have taped PCB, hand-lubed switches, and there's a cabinet full of unused switches, keycaps, testers, and keyboard tools.

Mouse

Apple Magic Mouse

Charging the battery is laughably inconvenient, but otherwise it’s my ideal productivity mouse. It looks nice on the desk, travels well, and all of the gestures are second nature to me.

Earbuds

Apple AirPods Pro

I worked fully remote for seven years (and didn’t have kids), so noise cancelling headphones weren’t on my radar. Now I can’t imagine life without them.

External Display

Dell 27” UltraSharp U2713HM

I’ve had this monitor for almost a decade and it’s still going strong.

My ideal stack

Back-end

Laravel

As a framework and a community, Laravel has truly changed my life. It’s been the catalyst that allowed me to finally become the developer I always wished I was. Eight years in, it’s more fun and productive to work with than ever. Laravel forever.

  • Admin Panel

    Laravel Nova

    Building an admin panel can be such a rabbit trail, but Nova helps streamline the process and infers so much from the code I already wrote building the primary app.

  • Code Insights

    Laravel Telescope

    During local development, I almost always have Telescope open in a separate window to quickly see what route, controller and views were loaded, see duplicate queries, and track bugs. Especially helpful for API development.

  • Debugging

    Ray

    As mentioned above, Ray is an essential piece of my development toolset. It’s constantly improving and the variety of data you can send to it is astounding.

Front-end

Vue

Vue maps to the way my brain works so much better than React or Angular ever did. Writing templates still feels like HTML, and the Composition API is a joy to work with. It’s opinionated software at its finest.

  • Routing +

    Inertia

    Inertia solves 90% of my pain points when connecting a Vue front-end to a Laravel back-end. It allows me to leverage Laravel for all of the routing, auth, and data passing, and Inertia magically hands it off to Vue in a easily consumable way. Game changing.

  • State Management

    Pinia

    Vue’s first-party state manager is also its best. Pinia integrates so well with every other aspect of Vue, and my brain is still unlocking new ways to leverage it.

  • Type Safety

    Typescript

    I use Typescript on most of my projects, but typically to about 80% type purity. It helps me spot oversights and significantly improves linting, but trying to squash every red squiggly eventually hits a point of diminishing returns.

Preprocessor

Sass

Modern CSS has custom properties, nesting, imports, color functions, etc. So, why do I still use Sass? Short answer: loops, mixins, and variables that I don’t want visible in the final CSS. Shorter answer: I’ve used it for a decade and it ain’t broke.

  • Utilities

    Tailwind CSS

    I’ve found a nice sweet spot for Tailwind in my daily use (I even wrote about it). I still lean heavily on custom CSS classes but Tailwind helps keep me consistent and concise.

Content Mangagement

Statamic

I built dozens of sites on Wordpress over the years, but Statamic was immediately easier, sleeker, and more fun. There’s no better way to build a bespoke CMS for a website of any size.