Three years ago I'd have called this a bad idea. I still might. But I've been running ryzenstudy.com on flat JSON files for months now — 1,699 exam paper records, 699 distinct subject codes, five academic programmes, zero database servers — and the failures haven't been the ones anyone warned me about.
Nobody warned me about slugs.
The setup
It's a Next.js 15 app on App Router, one VPS, PM2 in fork mode behind Nginx. The entire data layer is this:
export function getAllPapers() {






