Adding smart features to dumb apps
You no longer have to wait for updates from application developers—just make the features you want.
Thoughts on Internet
You no longer have to wait for updates from application developers—just make the features you want.
Cheat codes ruin video games. Friction and value are inseparable.
On why learning slowly is still valuable in the age of shipping fast.
Use suspense boundaries to wrap data—not layouts—to avoid its biggest problem.
Components hidden by Activity will maintain their state while also unmounting their effects and continue to preload suspenseful data—here's what makes that useful.
Getting the results you want from an LLM is more about collaborating than commanding.
The best conference talks are written (without sounding scripted) and performed (while staying authentic).
If you've got the best intentions to make running part of your life, here's everything I absorbed to go from 0-100 (miles)
Letting people know what you have done for them is so much more impressive than how you did it.
Style elements based on the state of their DOM attributes—instead of template logic—for more easily debuggable styles.
The job of a framework is to render HTML so it makes sense to optionally bundle a way to style it with CSS
In any sufficiently crowded market, there is always the opportunity to be the absolute best at your thing.
A glimpse into the context through which I create educational content and tutorials.
You might not need a library to query GraphQL in Remix
Creating individual meta images can be time-consuming work. Fortunately, creating on-brand and dynamic images for link previews has never been easier.
Vercel offers simple, privacy-focused analytics and web vitals data. These can be instantly set up on Next.js and other frameworks. It's a little extra work for your Remix app, but worth it.
In a content-editable website project, the people involved are two separate and yet equally important groups. The developers who build websites, and the authors that populate them with content. These are their stories.
I've rebuilt this blog with the same design almost half a dozen times. Here's what I learned doing it again.
Visually, components are unique, flexible units to compose complete layouts. For content, they can trap reusable data into single-use decorations.
We don’t have to sacrifice the awesomeness of GROQ for the safety of TypeScript. With Zod, we can have both.
It can be tough to identify use cases for something like reduce() until you’re already comfortable using it. Consider this a gentle entry point on your path to advanced use of the Swiss Army Knife of Array Methods.
Almost all forms of communication are an "ask" of some kind. Even if you’re not asking for some "thing". At a minimum you're asking the other party for their time.
Creating hand-tooled 10-color Palettes can be tough. Get a head start by rapidly generating a full suite of Swatches from a single base value.
We're closing in on the end of 2021 and I'm as excited now about building websites as I've been in ~25 years.
Hard coding document slugs in Sanity.io with validation rules can save you a lot of double-handling on both front and back end.
To a developer, recipes represent such a complex and delicious content model. So why do so many recipe websites leave a bad taste? Let's explore cooking up a more ideal version.
Headless CMS's are refreshingly "set and forget". But if the Risk Management Department needs to be satiated by having your own backup solution, it's easy to do.
If you're relatively new to React, Hooks aren't new, they simply exist. And to understand the useEffect() hook is to almost entirely understand React Components.
Publishing extensions is so much easier than copy/pasting project-to-project.
Rounded corners don't have to be so boring.
For the first time ever, WordPress has strong opinions about how your website is designed – making it a bad choice as a generic content management system.
Trying my hand at adding to the the Developer Experience of Sanity.
Setting up the most popular content editing pattern for the component-based nature of front end frameworks and modern website design.
Gatsby Cloud-like live previewing for your Sanity website, but low cost with unlimited edits.