Posts from 2025
Nuxt SSR and Nitro: Keeping the Server Boundary Clear
Nuxt SSR and Nitro routes are convenient, but convenience isn't architecture: that layer easily blends browser-facing aggregation with backend-facing risk.
Next.js Server Boundaries: What Stays in the Framework, What Leaves
SSR, SSG, ISR, and RSC each solve a different problem. Sort them out first, then decide what stays in Next and what moves to a standalone BFF.
Svelte as a Mirror for the Frontend, Not an Idol
Svelte holds DOM intuition, HTML-first structure and an explicit server boundary together, which makes it a reference for judging front-end tools, not an idol.
The Framework Server Layer Is Not Your BFF
Keep the framework server layer to browser-facing aggregation; service auth, trust boundaries and risk belong in a standalone BFF, whatever Next or Nuxt can run.
Where Does the HTML Come From: SSR, CSR, SSG, ISR on One Path
Stop memorising acronyms. Ask one question instead — when and where was the HTML the user just received actually generated.
Two Ways to Wire a BFF: htmx Returns Partials, SvelteKit Goes JSON
One call chain, two front ends: htmx partials for admin tables where state lives on the server, JSON over SvelteKit when the client needs to hold state.
SvelteKit's Default SSR Worldview — and Where It Bites You
SvelteKit's SSR defaults are well-reasoned. They can also grind to a halt the moment your environment stops cooperating.