# Recent Blog Posts
Dynamic Tag Name Props in React (with TypeScript)
Sometimes, a React component needs to allow users to render a custom tag. Here's how you can pass dynamic tag names... Read this post →
What Are Higher-Order Components in React?
Higher-order components are one of React's most popular design patterns, allowing you to define reusable stateful l... Read this post →
6 Ways to Undo Changes in Git
If you ever find yourself in a sticky situation with git, don't panic. Here are six simple ways you can undo change... Read this post →
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 →
Returning Data After an Insert in PostgreSQL
Easily return auto-generated and serial IDs after inserting new rows into a table with PostgreSQL's RETURNING clause. Read this post →
# Popular Blog Posts
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 Your Jekyll Blog
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 is just some of the work that I'm proud of. Got a project in mind? Get in touch!
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: