This site runs on hand-written PHP, MySQL and about 15KB of compiled CSS, on shared hosting that costs less than a coffee per month. That was a deliberate experiment: how much of the modern toolchain do you actually need for a content site?
What we did not miss
A JavaScript framework. Server-side rendering is not a technique here, it is just... how PHP works. Every page is complete HTML before any script runs, which is exactly what search crawlers and slow connections want. The JS that exists — fade-ins, copy buttons, one AJAX form — is enhancement, and the site works fully with it disabled.
What we did miss
Migrations tooling, honestly. We wrote a 60-line runner script and moved on. And typed models — discipline has to replace the compiler here.
The numbers
Home page: one database query burst, ~40ms server time, ~60KB transferred including fonts. Lighthouse does not complain. There is something clarifying about a stack where you can read every line that runs.
This is not an argument against frameworks — it is an argument for matching the tool to the job. A content site is mostly text travelling one direction. HTML over the wire is still unreasonably good at that.