Development
Languages and frameworks
ES6+ JavaScript is my main language these days. I’ve spent the last few years building in Vue and Nuxt. Recently, however, I’ve been moving most new projects over to SvelteKit (including this website), and loving both the dev experience and reduced bundle size. I’ve also been working on implementing TypeScript in all new projects. Professionally, I work in React, and have built several personal projects with it as well. I’ve also got working experience with jQuery and Knockout.
I love CSS passionately, but I don’t use any libraries or frameworks, if I have the choice; all my CSS is from-scratch, responsive, and custom (usually written in SCSS). I love authoring smooth, fluid transitions and animations. (I’ve used Tailwind. It’s nice in some ways, but I’m not personally a fan.)
I’m a strong proponent of well-architected, accessible, and semantic HTML. (I create and use SVG often.)
Professionally, I use Remix and Tailwind on a daily basis, though neither has found its way into any of my personal projects.
I’m a WordPress expert and generally prefer to build themes from scratch. I’m capable with PHP and MySQL.
I wouldn’t call myself a full-stack developer, but I know my way around Ruby on Rails (I’ve worked in a Rails stack for most of my professional career), and have dabbled in some Node.
Code tools
Visual Studio Code: my favorite editor ever. I was a reluctant Sublime Text convert, but the switch was more than worth it.
Theme: I love Dracula Pro; it strikes the perfect balance of contrast and color to my eye. I also appreciate that it comes with identical themes for other apps, like Slack, iTerm, and others. It is expensive, however, so for a free option, I’d go with go with good ol’ Dracula Official.
Font: MonoLisa. I’m a code nerd and a font nerd, so I don’t take this choice lightly, but this is my favorite dev font. I love its combination of legibility and subtle personality, and plus, the code ligatures are great. (If you’re not willing to spend the money, though—and I definitely understand if that’s the case— Fira Code is my runner-up.)
Extensions: I don’t have too many global recommendations here (it depends a lot on what you’re working with), but I’ll mention:
es6-string-html: treats HTML inside template literal strings like actual HTML code, for the purposes of highlighting, code completion, Emmett, etc.
Polacode: a nifty, pretty way to take code screenshots
GitLens: less indispensable now that VS Code has the Timeline view, but still amazingly handy for viewing git status and history in projects.
Close HTML/XML Tag: the only keyboard shortcut I miss from Sublime Text is easily replicated with this extension. Gives you a key command to auto-close whatever HTML tag your cursor is currently inside of.
Firefox: Firefox is a great browser with some awesome tools, plus strong privacy. I use Edge when I need to test on Chromium; I don’t even install Chrome on my machine.
Local: hands-down the best way to develop WordPress sites.
CodeKit: there’s nothing CodeKit does that I couldn’t accomplish by fiddling with NPM scripts, but why bother? It’s smooth and easy to use, and as a bonus, it works great with Local.
iTerm2: I’ve tried other terminals, but none seem to run as well, and with the recent update, arguably, none look better, either.
Netlify: I’m also a fan of Vercel but Netlify has taken over my Jamstack hosting #1 spot. It’s free to start and unbelievably easy. Netlify makes the painfully difficult effortlessly simple.
Plausible Analytics: I’ve done away with Google Analytics. Plausible is privacy-respecting, GDPR compliant, and very affordable. Happy to support them.
Hardware
Logitech MX Ergo Plus trackball mouse: I was previously using an Anker Vertical Mouse, but switched to a trackball when some wrist issues flared up. The trackball saves the arm movement. I tend to switch up what I use frequently these days, to keep any one thing from getting too repetitive (I also currently have a trackpad on my desk), but the trackball mouse has been my mainstay since summer 2022, and surprisingly easy to adjust to.
ZSA Moonlander keyboard: I was previously using the Kinesis Freestyle2 for Mac, and still like that one, but the thumb keys on the Moonlander became key (ha) for reducing finger strain. Plus, the wide range of customization options is excellent. I wrote about switching to the Moonlander in this post.
Herman Miller Sayl Chair: I made it about two months as a full-time work-from-home employee before I went and bought one of these chairs. It’s the most comfortable and easily adjustable office chair I’ve ever sat in (and it looks really nice, too).
Uplift V2 C-Frame standing desk: Not a lot of purchases I’ve been happier with than this one. It works incredibly well and is surprisingly sturdy, even without springing for the commercial version. (I have the 27.5” feet for my larger Ikea desktop, and the Advanced Digital Memory Keypad.)
CalDigit TS4 dock: I am a simple man. All I want is to have just one, single cable I plug into my laptop to make everything work. Only one. This dock makes that possible.
Productivity & Utility
1Password: The first thing I install on every new device. I’ve tried and liked other password software, but 1Password is just the most reliable cross-platform and -device in my experience.
Raycast: the second thing I install on every new Mac. (I previously used Alfred, which I still love and support. But Raycast has more built in, and has seemed to capture the developer zeitgeist for the time being.) The main features I love are clipboard history, snippet expansion, global search (never touch Finder again!), and workflows to automate repetitive or tedious tasks. Wouldn’t ever want to work without it. As an added bonus, Raycast includes window management and emoji picking, which means you can forego some of the other apps previously on this list like Rectangle and Rocket (though admittedly, Rocket’s emoji picking is much nicer).
CleanShot X: taking screenshots and videos is a many-times-daily activity for me, and CleanShot X makes it as seamless as possible for an easy, one-time payment.
RightFont: a simple, minimalist app for managing your computer’s fonts that looks and works better than Mac’s built-in FontBook.
Bartender: helps wrangle all those app icons in your taskbar if you’re a minimalist like me.
Notion: my current favorite notes app. Can grow and get as complex as you need it to be, but for simple notes, the markdown and code highlight support is fantastic.
Design and Illustration
Affinity Photo, Designer and Publisher: you can have software mostly as good as Photoshop, Illustrator and InDesign forever for the cost of three months of Creative Cloud.
Wacom Intuos Pro PTH-451 (small): I don’t often illustrate these days, but when I do, I’m always glad I have this fantastic pad. Wireless is a big plus.
This site
This is about the fifth iteration of my personal brand. The colors haven't changed, but I rotate fonts and layout once every year or two.
Colors
- #ffd100
- #34657f
- #7ba7bc
- #ff6a13
- #e4002b
- #a7a8aa
- #888b8d
- #53565a
- #341F23
- #101820
Fonts
Other fonts I've used previously: Korb (both on its own and paired with Bitter); Clarendon BT Pro + Texta; and Amsi Pro + Sagona; Pensum Display. (I know you do not care, but this is here mostly just for my own memory.)