View Transitions
For a Multi-Page Application (MPA) like this website, adding View Transitions is ridiculously easy.
It's one CSS declaration:
@view-transition {
navigation: auto;
}
The default animation is a cross-fade, but you can customize that with View Transition pseudo-elements.
JS frameworks
For Single-Page Apps (SPAs), it's a bit more involved.
I think Astro was the first major framework to add support. It looks like Remix and SvelteKit also have official support, and there's a popular next-view-transitions library for Next.js.