5 Tools I add to every new web project for SEO and analytics

I use these tools on every project to help track source code, monitor traffic on my site, and optimize content for better Search Engine Optimization (SEO).
Read more →I'm a technologist, a designer, and a creator of things. I started this as a place to put together my thoughts on things that I think deserve a bigger stage than my twitter or GitHub.
I work at Stripe -- but the things I post here are my own, and don't necessarily reflect the views or opinions of Stripe.
LATEST POSTS
I use these tools on every project to help track source code, monitor traffic on my site, and optimize content for better Search Engine Optimization (SEO).
Read more →Subscribe to get my updates delivered to your inbox. Typically 1-2 emails a month, straight from me to you. 😘 Unsubscribe anytime.
This is the right format to use if you want to add a subtitle below an h1 tag on your html pages. Semantic HTML makes your site more accessible and better for SEO, since it is easier for search engines to process.
Read more →
Building a website using the Remix.run webb app framework? This tutorial will teach you how to add privacy-first analytics to your Remix site with Fathom.
Read more →
Let's call it an experiment. I'm building a tiny product to see if I can make something people will buy.
Read more →
You're building relationships with all of your customers, whether you know it or not. Setting up the right CRM for your product can help make those relationships stronger.
Read more →
I migrated apisyouwonthate.com, a site with 20k+ monthly visits, from Gatsby to Next.js at the end of 2021. Let's talk about what I learned from that experience.
Read more →
This tutorial will teach you how to automatically add links to heading tags in your mdx posts on your Next.js site with a plugin called rehype-slug. This should work for most nextJS sites that use MDX for content, as well as many other JavaScript-based sites which use MDX.
Read more →
Since its release, teams around the world have been using dependabot to automate the process of keeping your project's dependencies up to date. In this article, I'll show you how you can run dependabot on the command line using dependabot-core.
Read more →
The Von Restorff Effect (sometimes called the Isolation Effect) is a psychological phenomeon that causes people to remember things which defy expectations. In other words, things which stand out in a crowd have a significant competitive advantage.
Read more →
If you're running an Apple Silicon Mac (with an M1, M1 Pro, or M1 Max chip), you may be able to speed up VS Code massively with a quick update.
Read more →
Buildspace offers free, online, cohort-based courses on building web3 blockchain apps. If you're interested in dipping your toe into the world of Ethereum apps, the blockchain, or NFTs - it's a great starting point.
Read more →
For years I did a weekly coding livestream of my React and Python work on Twitch every week, and I'm getting back into it again. This is what sticks out to me as the most valuable learnings from those experiences.
Read more →
Let's take a look at the Nullish Coalescing operator (??) in JavaScript, which returns the right operand if the left is null or undefined.
Read more →
If you come across array.filter(Boolean) in JavaScript code, never fear! It's a handy bit of functional programming that cleans up arrays with null and undefined values in them.
Read more →
Have you noticed that your favorite IDE has been slow to load lately? Try removing these before losing hope.
Read more →
Centered text is bad for usability, accessibility, and eye scanning -- and I really hate the way it looks.
Read more →
My review of Working in Public: The Making and Maintenance of Open Source Software by Nadia Eghbal
Read more →
If you're dealing with Open Graph metadata for your site, and you can't figure out how to get your OG content to update after you make changes, this is your guide.
Read more →
Put simply, gitignore.io is a tool that is so profoundly helpful that I've forgotten what life was like without it.
Read more →
I added support for mdx to my site, and it's made life much bettter.
Read more →
I fully switched my personal site from Google Analytics to Fathom - something that I had been considering for a while, and finally decided to go all in on.
Read more →
On my walk this morning, I found myself wondering what it's going to be like when things go back to normal.
Read more →
This post came from my work on Surviving Other People's APIs. I've been working on a chapter on Async - the content below came from that writing, but doesn't quite make sense in the context of the book. I didn't want to scrap it entirely, so it's found its way into a blog post. I'd love to know what you think!
Read more →
My guess is that if you’re reading this, you’re a newly remote worker, due to the rapid and terrifying expansion of the COVID19 Pandemic. I’m not here share medical advice; if that’s what you’re after, there’s far better places to look.
Read more →
If you follow me across the various other social networks I use, you'll likely stumble across my passion for cycling. For the past 8 or so years, road cycling has been my primary form of exercise. I love cycling; it keeps me sane, and helps me live a healthier life, while seeing the world. If you haven't been on a bike recently, you should give it a shot - I can't recommend it enough.
Read more →
So, like all good things, the idea for this post comes from a tweet...
Read more →
Dependabot is an automation service that will automatically create PRs to keep your projects' dependencies up to date, and it is really powerful.
Read more →
This is an article about CSS and usability. The ch unit in CSS was a revelation for me, and I promise that if you don't know about it already, you're gonna love it.
Read more →
This is a follow-up to my first post on the upcoming Promise.allSettled() function, coming soon to a node application near you.
Read more →
Part 2 in a series of posts on destructuring syntax for JavaScript and Node.
Read more →
Promise.allSettled() is a new API coming to the JavaScript / ES6 standard which can help you more efficiently build node applications that make simultaneous asynchronous API calls
Read more →
If you're not careful, your node projects can start to fill all the spare disk space on your computer. This one weird trick (lol) can help avoid that.
Read more →
Last week I posted about some stickers I designed and had put up for sale to benefit victims of the shooting in Christchurch, NZ. They sold out far, far more quickly than I ever would have guessed.
Read more →
Destructuring syntax in es6 (or es2015, etc) JavaScript is a wonderfully useful bit of the language. It allows you to extract values from an Object and assign them to a new variable in one statement -- but it can be confusing to read.
Read more →
Uninstalling Postgres database software from a computer running MacOS isn't super straightforward - this is what I found helpful.
Read more →
Get yourself some of these eggtastic stickers - 100% of proceeds go to charity!
Read more →
An efficient workday is helped tremendously by having a handful of productivity boosters in your quiver. I use these extensions for Chrome to make my day a little nicer.
Read more →
No, really, it doesn't work that way. It will sound loads better if you stop talking into the top of your Blue Yeti mic. It's an easy mistake to make.
Read more →
Prettier.js is a fantastic way to systemize and automate your project's code style.
Read more →