< blog ·
SSR first, then enhance
I ship Nuxt pages that already work without JS — terminal UI and motion come after.
If the title, links and main text only show up after hydration, the page isn't ready. It's a spinner with SEO hopes. On a commercial site that's just broken, not “modern”.
Typed commands, motion, theme toggles — anything that needs `window` — I add after. They should fall away quietly: readable HTML first, interactive layer after mount. Slow networks and crawlers still get the content.
In Nuxt I keep it simple: facts in the server render, toys in `onMounted`. If a feature can't explain itself without JavaScript, maybe the page didn't need it.