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 always doing much for me, but it’s still nice, and not a bad habit to have).

  • Previously, I’ve worked a good deal with Vue and Nuxt. Professionally, I work/have worked a lot in various React flavors, including Preact, Fresh, and Remix. 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. I often lean on SCSS, though I do enjoy CSS modules as well. I love authoring smooth, fluid transitions and animations. I know Tailwind and use it professionally. It’s nice as a system, but I favor scoped CSS instead, which comes standard with just about every non-React framework these days. (I also favor those.)

  • I wouldn’t call myself a full-stack developer, I’ve worked in Ruby on Rails, Node, and Deno. I cut my teeth on WordPress, and so I’m capable with PHP and MySQL. I’m also learning Rust (very slowly).

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.

      • Font Preview: lets you check out fonts and their features right in your editor, which is super handy, especially for variable fonts and special features like ligatures.

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

  • MoErgo Glove80 keyboard: My ergonomic keyboard journey is kinda long and detailed, but the Glove80 is where I am right now (and have been for the past year or so). I love the feel of it, and even wrote a couple of blog posts about it; first impressions here and followup here. Previously, I used the ZSA Moonlander for close to a year, and before that, the Kinesis Freestyle2 for Mac.

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

  • 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
  • #e6002a
  • #fcfcfc
  • #a7a8aa
  • #878a8c
  • #53565a
  • #424548
  • #331f22
  • #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.)