Verdicts
Every verdict names a pick, an alternative and when it wins, what to avoid, the traps at the version tested, and who verified it. Nothing here is served past its recheck date without a flag.
Next.js 16.3.4 if the app is mostly logged-in screens: server components, the largest hiring pool, and Turbopack on by default for both dev and build. Astro 7.3.1 if most pages are content and only a few islands are interactive, because it ships no JS for the rest. SvelteKit 2.70.3 is the smallest runtime of the three, but v3 is in prerelease and rewrites the adapter API, so custom adapters will need work.
compare · verified 2026-09-08 · recheck 2027-01-06Postgres 18.6. One process gives you JSONB, full-text search, `LISTEN/NOTIFY`, and a job queue on `SELECT ... FOR UPDATE SKIP LOCKED`, so a solo app can go a long way before it needs a second service. SQLite 3.53.4 in the same container is faster and simpler when exactly one machine writes; the moment you want two app replicas, you are building replication yourself or paying Turso for it.
compare · verified 2026-09-08 · recheck 2027-01-06pg-boss 12.30.0. Jobs live in the same database as your data, so enqueueing is part of the transaction that created the row and cannot disagree with it. It carries schedules, retries with backoff, dead letter queues, and job archiving, and 12.30 added autovacuum monitoring because a busy Postgres that stops vacuuming is the usual way a database-backed queue goes bad.
recommend · verified 2026-09-08 · recheck 2027-01-06Better Auth. You own the users table in your own Postgres, the organization and api-key plugins cover teams and keys without a second vendor, and there is no per-monthly-active-user bill when you grow.
recommend · verified 2026-09-08 · recheck 2027-01-06