Skip to main content

Development

Languages and frameworks

  • Aside from good old fashioned HTML and CSS, JavaScript is my main language these days, and SvelteKit is my framework of choice for just about any new project. I’ve begun to default to TypeScript for pretty much all new projects, as well (even though I’m not convinced it’s really doing much for me in most cases; I just kinda like it).

  • Previously, I’ve worked a good deal with Vue and Nuxt. Professionally, I work in React, Remix and/or Preact, and have built several personal projects with React as well (though it’s not my first choice). I’ve also got working experience with jQuery and Knockout.

  • I love CSS passionately, and generally do not use any CSS libraries or frameworks, if I have the choice. All my CSS is from-scratch, responsive, and custom (usually written in SCSS, though I do enjoy CSS modules as well). I love authoring smooth, fluid transitions and animations. I know Tailwind and have worked with it professionally, but I’m not a fan, for reasons I should probably just write a blog post about.

  • I’m a strong proponent of well-architected, accessible, and semantic HTML. (I create and use SVG often.)

  • 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. I cut my teeth on WordPress, and so I’m capable with PHP and MySQL. I’m working on learning Deno better, and plan to start learning Rust soon as well.

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.

      • 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.

      • Code Spell Checker: Requires a bit of manual maintenance, but if you do any writing in Markdown, you’ll appreciate having a spell checker along for the ride.

  • 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 personal machines.

  • 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. (If you’re a keyboard nerd like I now am: I use these MT3 keycaps and Glorious Panda switches.)

  • 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. 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—and even go back and forth between, as I wrote about here.) The main features I love are clipboard history, snippet expansion, file search, and workflows to automate repetitive or tedious tasks. I love being able to just type a command to do it, without searching for anything or moving away from the current window. 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 a little 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.

  • Oh My ZSH: makes your terminal easier to use and cooler-looking

  • Fig a sort of auto-complete for your terminal that gives you a nice visual selection of possible commands and branches, so you’re not just typing in the dark or relying on memory

  • 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: since each one of the items in this suite is $69, you can have software roughly as good as Photoshop, Illustrator and InDesign (better, even, in some ways), yours forever, for the less money than you’d pay for four months of Adobe Creative Cloud. Nice.

  • 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

Alkes family

Averta Std family

MonoLisa Regular family

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.)