Blog

Adding Page Transitions and Animations to Next.js with Framer Motion
Animation is one of the easiest ways to make an app feel polished, and one of the easiest ways to make it feel slow. A subtle fade when a page loads,
Continue Reading
Building Accessible UI Components in Next.js with shadcn/ui
Building a dropdown menu that looks right takes an afternoon. Building one that works with a keyboard, announces itself to screen readers, traps and
Continue Reading
Deploying a Python Web App with Docker
"It works on my machine" is the oldest problem in deployment, and Python has its own flavor of it: a different Python version on the server, a missin
Continue Reading
Using CSS Modules in Next.js: Scoped Styles Made Simple
Global CSS has one big problem: every class name lives in the same namespace. Name something .card or .title and sooner or later another componen
Continue Reading
Implementing Dark Mode in Next.js Without a Flash of Unstyled Content
You add a dark mode toggle, pick dark, and reload the page. For a split second the page is bright white, then it snaps to dark. That flash is the mos
Continue Reading
Setting Up Tailwind CSS v4 in a Next.js Project
Tailwind CSS and Next.js are the default pairing for a lot of React projects, and with Tailwind v4 the setup has become noticeably smaller. There's n
Continue Reading