This is Part 1 of a 6-part series where I open up the real engineering decisions behind my latest SaaS. No "10x" claims, no hot takes. Just the choices, why I made them, and what I'd tell a past version of myself.

The one-sentence version

I needed to ship a small, focused SaaS on my own, keep the whole thing type-safe end to end, host data in the EU, and not spend my weekends gluing a backend API to a separate frontend app. So I reached for AdonisJS 7 + Inertia + Vue 3.

If you've never seen Adonis in the wild, or you've only ever reached for Next.js / Nuxt / a decoupled SPA, this article is the gentle tour I wish I'd had.

Let's start with the question that actually matters.