Introduction
The App Router rewards a few clear patterns and punishes guesswork. Here's the subset that carried us to production.
Server components by default
Fetch on the server, pass plain data to small client islands. Less JavaScript ships, and the page is interactive sooner.
Localized routing
A single [locale] segment plus next-intl gives clean URLs for every language, with messages resolved per request.
Watch it in action
Prefer video? ▶ Watch the walkthrough
Built on Bun + ElysiaJS, served through Convex. Questions welcome in the comments.