# Recent Blog Posts
SVG Tutorial: How to Code SVG Icons by Hand
Learn the basics of SVGs so you can code your own SVG icons by hand, without always relying on icon libraries. Read this post →
Creating a Vertical Rhythm with CSS Grid
Margins are what you typically use to define a layout's vertical rhythm. But CSS Grid offers a better alternative. Read this post →
Rest in Peace, Flash
If it were up to me, things wouldn't end this way. We had some great times together, but now it's time to say goodbye. Read this post →
Subtle Web Accessibility Issues (And How to Fix Them)
You've scored 100 on Lighthouse's accessibility audit. But is your site actually accessible, or have you overlooked... Read this post →
Be Careful with Async Functions that Return Booleans
Suppose an async function returns a boolean. What happens if you check the return value without awaiting it? Read this post →
# Popular Blog Posts
Does Web Performance Matter? It Depends.
Some big brands have a slow page load speed, but they still rank well on Google. So does web performance even matter? Read this post →
Blue People Illustrations, or How to Kill a Brand
There's a recent trend in web design of using illustrations of blue, generic, faceless people. And it's killing bra... Read this post →
Goodbye, GitHub Pages—Hello, Netlify
GitHub Pages is a great option for hosting your site... until it isn't. Here's why I moved to Netlify. Read this post →
Creating a Responsive Navbar Without Bootstrap
Want to create a navbar that works on mobile and desktop? Ditch the frameworks—in this tutorial, we'll create a res... Read this post →
How to Add a Copy-to-Clipboard Button to Jekyll
Learn how to add a copy-to-clipboard button to your Jekyll blog using some clever Liquid templating and just a few ... Read this post →
Getting Started with Jekyll and GitHub Pages: Your First Website
Jekyll is a static site generator that makes it easy for you to create a website. Learn how to get started with Jek... Read this post →
Finite State Machine (FSM) Tutorial: Implementing an FSM in C++
Finite state machines (FSMs) are used in lots of different situations to model complex entity state. In this finite... Read this post →
How to Set up Create React App with TypeScript, Ant Design, LESS, CSS Modules, and ESLint
Enjoy a better dev experience by setting up React with TypeScript, customizing the Ant Design theme with LESS and C... Read this post →
Outer Wilds: Stop and Smell the Pine Trees
On the surface, Outer Wilds is a space exploration game. But peel back the layers, and it's a captivating and philo... Read this post →
Learn to Code Without Wasting Time & Money
A discussion of the things that beginner programmers tend to get wrong, as well as concrete suggestions for what th... Read this post →
# Software Projects
I have experience with a wide range of stacks and enjoy working on projects that have a strong UI/UX component. Below are just some of my software projects that I'm most proud of.
Text editor developed with the Qt framework. Features standard file operations, syntax highlighting, brace autocomplete, and auto-indentation.
A mobile app that provides easy access to cattle records for the VanWagner Cattle farm.
- mobile dev
A database-driven web app that lets you explore U.S. gun crimes for 2013–2018.
Embody is a top-down dungeon crawler inspired by the Binding of Isaac where you can possess slain enemies to assume their model, stats, and weapon.
Want to see more of my work?
Check out my other repos: