Thoughts
This is my blog, home to my various musings. So far, I've written 67 articles on this site. Use the search below to filter by title.
All Posts
Using Serverless Redis with Next.js
Did you know it's possible to use Redis for your entire database? Hashmaps, counters, sorted lists, and even queues. Learn how to deploy a Redis & Next.js app in a few short minutes.
Past, Present, and Future of React State Management
Learn about the history of state management in React and what the preferred solutions are today.
Web Fonts in 2021
Learn the best practices for high-performance sites using web fonts, updated for 2021.
Switching to Tailwind CSS
Learn why I switched my Next.js blog to use Tailwind CSS and how it impacted performance.
How Should I Style My React Application?
Learn how CSS has evolved and explore pros and cons of different styling solutions for React.
Authentication Patterns for Next.js
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?
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
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
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
The missing documentation for making requests to the Gumroad API from Node.js.
Static Sites with Next.js 9.3 and Prisma
Learn how to build & deploy a static site using Next.js, Prisma, and a SQLite database.
Improving My Next.js MDX Blog
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
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
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
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
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
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
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
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
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
Highlights and reflections on 2019 and a look forward to 2020.
Next.js vs. Gatsby vs. Create React App
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
Learn how to integrate Next.js and React with Mailchimp to build a newsletter subscription form.
Why Should You Learn Next.js?
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
Learn about how we've adopted GraphQL at Hy-Vee to improve developer efficiency and enhance our user experience.
Backpacking Italy
My recap of 10 days backpacking across Italy - Venice, Cinque Terre, and the Almafi Coast.
Why I Switched From CircleCI to GitHub Actions
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
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
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
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
Five simple things you can do to separate yourself from your peers and become the best developer.
How To Fix Technical Recruiting
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
Learn how to use iframes to print React components while only printing what's necessary.
Configuring Sentry for Next.js Apps
Learn how to set up Sentry to capture client-side and server-side exceptions for Next.js applications.
Stop Wasting Your Time
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
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
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
Why is there so much recruiter spam? What can we do to fix technical recruiting?
Things I've Learned Building Next.js Apps
CSS Modules, Font Loading, Polyfills, Dynamic Imports, MDX, and more!
Building a UI Component Library with Styled Components
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
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)
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
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
Starting the next chapter of my career.
Build vs. Buy
What decisions go into evaluating software solutions?
My Essential Software/Hardware List
Exploring the tools I use daily for work and personal use.
Optimizing My Digital Content Consumption
Using RSS to aggregate and simplify how I consume media.
Analyzing 10+ Years of My Facebook Data
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
Learning to say yes to the unexpected and embracing change.
The Search for Everything
Leaving my comfort zone and working remotely in Bali, Indonesia.
Using Content Marketing to Build Your Personal Brand
How to transform your online presence, drive more traffic to your website, and sell yourself.
How Stripe Designs Beautiful Websites
Examining the tips and tricks used to make Stripe's website design a notch above the rest.
Getting Started with Dart & React
Building a todo list from start to finish.
Creating a Loading Placeholder with Sass
Using animation to simulate loading text content.
Learning CSS Animations by Example
A quick tutorial for making a logo swirl.
Building My First Electron App
Learn how I created a simple application to convert and download YouTube videos as MP3s.
Calibrate San Francisco
What I learned from this engineering management conference.
Migrating to Hugo
Why I chose this static site generator and the benefits you can receive.
Life at Workiva
Learn what exactly my job looks like on a daily basis.
10 Days in Norway
Visualize my journey through the scenic lands of Norway with rich, stunning pictures and daily travel logs.
Beginner’s Guide to the Programming Portfolio
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
Learn how I got into videography and where I'm headed next.
What I’ve Learned From 4 (or 5) Years of College
Reflections on my college years and advice I wish I knew from the start.
Harnessing the Google, Yelp, and Foursquare APIs with Python
A simple Python program to retrieve relevant data.
The 10 Best Bars in Des Moines
Using data to determine where to drink.
From Zero Programming Experience to Three Internships
How I preserved through college and got the job of my dreams.
Creating a Space Invaders Clone with Python
Utilizing Python and PyGame to revive a classic.