Who I am
I'm currently a Frontend Engineer at Deno. Before that, I was a senior frontend developer at Shopify. . In my spare time, I love hobby coding; I'm the maker and designer of the word games Quina (iOS/Android/web) and Hondo (iOS/Android/web).
I wrote and maintain an open-source SvelteKit static blog starter (repo/demo), and I still do occasional freelance development and design.
Previously, I worked as a Senior JavaScript developer at Aware3, and as a front-end engineer at WP Engine. Before becoming a full-time dev, I was a senior support lead at Flywheel, and also a course instructor for AIM Code School, where I taught WordPress development, and was solely responsible for both curriculum development and teaching.
As a writer, I authored the CSS Tricks series A Complete Beginner's Guide to NPM, and I enjoy blogging about dev, design and tech (both freelance and here on this site). Occasionally, I get asked to talk about what I write on podcasts.
Before entering tech, I spent a few years as a graphic designer (that's what my degree is in). Prior to that, I was a bartender and server, and regularly gigged as a musician, though that's all been many years ago now.
I moved to the Kansas City area fairly recently, but was in Omaha for many years before that.
Personally, I am a: hobby coder; font hoarder; husband since 2012; dad since 2019 (though notorious for dad jokes since long before); accessibility advocate; cold brew consumer; DEI accomplice; Facebook, Instagram, and Twitter abandoner; Mastodon appreciator; semi-notorious React critic; occasional public speaker and podcast guest; pun enthusiast; curious learner; dog person; lifelong Nintendo fan; musician/guitarist/hack pianist; he/him/his; liberal abuser of semicolons.
More:
Talks and appearances
Conference presentations, trainings, and podcasts
- Why React is Outdated w/ Josh Collinsworth
Web Perspectives podcast - Debating React, Fonts, and Fatherhood with Josh Collinsworth
Whiskey, Web and Whatnot podcast - JS Party 244: The spicy React debate show 🌶️🌶️
JS Party podcast - Views on Svelte With Josh Collinsworth
Views on Vue podcast - Intro to Accessibility
aware3 internal training - How Not to Make a Crappy-Looking Site: a Crash Course on (Web) Design
WordCamp Omaha 2019 - What is Managed WordPress Hosting?
Video voiceover - CSS Variables (lightning talk)
BarCamp Omaha 2018 - Getting the Most Out of Local by Flywheel
WordCamp Omaha 2018 - A RESTed Development: Understanding the WP REST API Once and For All
WordCamp Omaha 2017 - WordPress Developer Course
AIM Code School course curriculum, 2015–2019 - Easy WordPress Security for Everyone
WordCamp Omaha 2016 - Be Classless – Optimizing Your CSS for WordPress
WordCamp Omaha 2015
Writing
Articles written for other publications
- Create better CSS forms with these design principles
LogRocket Blog - A Complete Beginner's guide to NPM
CSS Tricks - Building a PWA with Vue.js
LogRocket Blog - Using SVG and Vue.js: A complete guide
LogRocket Blog - What I Learned Building a Word Game App With Nuxt on Google Play
CSS Tricks - Leveling up Flywheel's retreat website: A developer's tale
The Layout - Understanding WordPress Shortcodes
The Layout