Blog

I've been writing online since 2014, mostly about web development and tech careers. In total, I've written 64 articles on this site. Use the search below to filter by title.

Most Popular

Everything I Know About Style Guides, Design Systems, and Component Libraries

––– views

A deep-dive on everything I've learned in the past year building style guides, design systems, component libraries, and their best practices.

How Stripe Designs Beautiful Websites

––– views

Examining the tips and tricks used to make Stripe's website design a notch above the rest.

Creating a Monorepo with Lerna & Yarn Workspaces

––– views

In this guide, you will learn how to create a Monorepo to manage multiple packages with a shared build, test, and release process.

All Posts

Switching to Tailwind CSS

––– views

Learn why I switched my Next.js blog to use Tailwind CSS and how it impacted performance.

How Should I Style My React Application?

––– views

Learn how CSS has evolved and explore pros and cons of different styling solutions for React.

Authentication Patterns for Next.js

––– views

Learn how to add authentication with Next.js. The guide covers custom React Hooks, protecting routes and redirecting on the server, and includes a variety of examples.

Which Back End Should I Use As A Front-End Developer?

––– views

Choosing a service to store data can be confusing and overwhelming for a front-end developer. This comprehensive guide is a choose your own adventure dive into creating your backend.

Using the Spotify API with Next.js

––– views

Learn how to authenticate with the Spotify API to fetch your top tracks in a Next.js API route.

How I Turned an Idea into $7K by Teaching Online

––– views

Six months ago, I had an idea for an online course. Today, I've taught students all over the world and made over $7,000 teaching online.

Gumroad API with Node.js

––– views

The missing documentation for making requests to the Gumroad API from Node.js.

Static Sites with Next.js 9.3 and Prisma

––– views

Learn how to build & deploy a static site using Next.js, Prisma, and a SQLite database.

Improving My Next.js MDX Blog

––– views

I revamped my personal site, adding a variety of improvements for the ideal Next.js + MDX blogging experience.

Create a Dynamic Sitemap with Next.js

––– views

Learn how to add a dynamic sitemap to your Next.js project, along with a robots.txt file for optimal SEO.

Create a Dashboard with Next.js API Routes - Fetching Data with SWR

––– views

Learn how to fetch data with SWR, a React Hooks library which improves the developer experience of retrieving data.

Create a Dashboard with Next.js API Routes - Google Analytics API

––– views

Learn how to use Next.js API routes to integrate with the Google Analytics API and retrieve statistics about a site.

Iowa Caucuses Should Not Have Used An App

––– views

Four days later, the Iowa Caucuses have finally finished. Yet, we're just now seeing the results. What the hell happened?

How To Use Encrypted Secrets With Vercel

––– views

Learn how to encrypt secrets to workaround Vercel's 4kb max limit for environment variables.

Create a Dashboard with Next.js API Routes - YouTube API

––– views

Learn how to use Next.js API routes to integrate with the YouTube API and retrieve statistics about a channel.

Create a Dashboard with Next.js API Routes - Unsplash API

––– views

Learn how to use Next.js API routes to integrate with the Unsplash API and retrieve statistics about a user.

You Don't Need A Two-Page Resume

––– views

Want a better programming resume? Limit it to a single page. See how my resume has transformed over the past five years with some actionable advice.

2019 Year in Review

––– views

Highlights and reflections on 2019 and a look forward to 2020.

Next.js vs. Gatsby vs. Create React App

––– views

Which is the best for building React applications? Explore the pros and cons for all three options to make the right choice.

Create A Newsletter with Next.js API Routes and Mailchimp

––– views

Learn how to integrate Next.js and React with Mailchimp to build a newsletter subscription form.

Why Should You Learn Next.js?

––– views

Understand the growth behind JavaScript's hottest web framework and learn why Next.js can help you build web applications faster.

GraphQL at Hy-Vee

––– views

Learn about how we've adopted GraphQL at Hy-Vee to improve developer efficiency and enhance our user experience.

Backpacking Italy

––– views

My recap of 10 days backpacking across Italy - Venice, Cinque Terre, and the Almafi Coast.

Why I Switched From CircleCI to GitHub Actions

––– views

Can GitHub Actions relace CircleCI entirely? Find out why I decided to switch CI/CD providers to GitHub Actions.

Real-Time Blog Post Views With Next.js and Firebase

––– views

Want more accurate page view counts? Learn how to track real-time post views using Firebase and Next.js.

Everything I Know About Style Guides, Design Systems, and Component Libraries

––– views

A deep-dive on everything I've learned in the past year building style guides, design systems, component libraries, and their best practices.

Going Serverless with Next.js and Firebase

––– views

Learn how to build a serverless application with Next.js, Firebase, Cloud Firestore, and easily deploy it with Vercel.

Want to Become a Better Developer? Here's How

––– views

Five simple things you can do to separate yourself from your peers and become the best developer.

How To Fix Technical Recruiting

––– views

Learn how to place engineers in this competitive market from a 45-minute keynote speech given at Talent42 in Seattle.

How To Print in React Using Iframes

––– views

Learn how to use iframes to print React components while only printing what's necessary.

Configuring Sentry for Next.js Apps

––– views

Learn how to set up Sentry to capture client-side and server-side exceptions for Next.js applications.

Stop Wasting Your Time

––– views

Studies show happiness is correlated to the amount of free time we have. So why is everyone always busy?

Creating a Monorepo with Lerna & Yarn Workspaces

––– views

In this guide, you will learn how to create a Monorepo to manage multiple packages with a shared build, test, and release process.

Purpose-Driven Work

––– views

We spend ~13 years of our life at work, so it's pretty important we enjoy what we're doing and that it connects with our core values. How can you find purpose-driven work?

Technical Recruiting is Broken

––– views

Why is there so much recruiter spam? What can we do to fix technical recruiting?

Things I've Learned Building Next.js Apps

––– views

CSS-in-JS, Font Loading, Polyfills, Dynamic Imports, MDX, and more!

Building a UI Component Library with Styled Components

––– views

At Hy-Vee, we reached a point where we were spinning up new teams extremely quickly and needed to maintain consistency across products.

Benefits I Care About in 2019

––– views

Should you care about game rooms and beer on tap? How important is working remotely and a flexible schedule? I give my take on what benefits are important to me in 2019.

Using Mapbox with Next.js (Instead of Google Maps)

––– views

Learn how to use Mapbox with Next.js to create a non-SSR map component that is free up to 50,000 map views per month.

Why I Create Open-Source Software

––– views

Creating open-source software makes me happy. It’s an opportunity for me to showcase my programming skills and gain experience with new languages and frameworks.

Joining Hy-Vee

––– views

Starting the next chapter of my career.

Build vs. Buy

––– views

What decisions go into evaluating software solutions?

My Essential Software/Hardware List

––– views

Exploring the tools I use daily for work and personal use.

Optimizing My Digital Content Consumption

––– views

Using RSS to aggregate and simplify how I consume media.

Analyzing 10+ Years of My Facebook Data

––– views

Which year was I the most active? Who has commented on my pictures the most? How many songs have I streamed?

Unplanned Road Trips & Expectations

––– views

Learning to say yes to the unexpected and embracing change.

The Search for Everything

––– views

Leaving my comfort zone and working remotely in Bali, Indonesia.

Using Content Marketing to Build Your Personal Brand

––– views

How to transform your online presence, drive more traffic to your website, and sell yourself.

How Stripe Designs Beautiful Websites

––– views

Examining the tips and tricks used to make Stripe's website design a notch above the rest.

Getting Started with Dart & React

––– views

Building a todo list from start to finish.

Creating a Loading Placeholder with Sass

––– views

Using animation to simulate loading text content.

Learning CSS Animations by Example

––– views

A quick tutorial for making a logo swirl.

Building My First Electron App

––– views

Learn how I created a simple application to convert and download YouTube videos as MP3s.

Calibrate San Francisco

––– views

What I learned from this engineering management conference.

Migrating to Hugo

––– views

Why I chose this static site generator and the benefits you can receive.

Life at Workiva

––– views

Learn what exactly my job looks like on a daily basis.

10 Days in Norway

––– views

Visualize my journey through the scenic lands of Norway with rich, stunning pictures and daily travel logs.

Beginner’s Guide to the Programming Portfolio

––– views

Learn how to create your programming portfolio from the ground up, including tips and tricks I learned building my own.

My Life Behind the Lens

––– views

Learn how I got into videography and where I'm headed next.

What I’ve Learned From 4 (or 5) Years of College

––– views

Reflections on my college years and advice I wish I knew from the start.

Harnessing the Google, Yelp, and Foursquare APIs with Python

––– views

A simple Python program to retrieve relevant data.

The 10 Best Bars in Des Moines

––– views

Using data to determine where to drink.

From Zero Programming Experience to Three Internships

––– views

How I preserved through college and got the job of my dreams.

Creating a Space Invaders Clone with Python

––– views

Utilizing Python and PyGame to revive a classic.