{post.title}
+ ++ By Tudor + {' · '} + +
+ + {/* + A plaindiff --git a/claude.md b/claude.md index 3d05e66..057a630 100644 --- a/claude.md +++ b/claude.md @@ -23,6 +23,46 @@ Key files: - `backend/data_loader.py` - Data queries, geocoding, legacy DataFrame compatibility - `backend/schemas.py` - Column mappings, metric definitions, LA code mappings +### Content / CMS (Payload) + +Payload CMS runs **inside** the Next.js app — one image, one container, no +separate service. It powers `/blog`; `/about` is a plain coded page. + +- **Admin panel:** `/admin`. The only authenticated surface on the site. + `noindex` via both `robots.txt` and `X-Robots-Tag`. +- **CMS API:** `/cms-api`, **not** `/api`. `/api/*` is a catch-all proxy to + FastAPI (`app/(frontend)/api/[...path]`) which would silently swallow every + admin call and forward it to the backend. Mount points are defined once in + `lib/payloadRoutes.ts`. +- **Database:** the existing Postgres, in its own `payload` schema, so no + pipeline operation on `public` — including + `scripts/migrate_csv_to_db.py --drop` — can reach blog content. +- **Uploads:** the `payload_media` Docker volume at `/app/media`. Not + reproducible from the pipeline; must be backed up. +- **New env vars:** `DATABASE_URL` and `PAYLOAD_SECRET` on the frontend service. + Staging must use a different `PAYLOAD_SECRET` from production. +- Publishing workflow and house style: `nextjs-app/docs/PUBLISHING.md`. + +### Two route groups + +`nextjs-app/app/` has no root `layout.tsx`. It cannot: Payload's admin panel +ships its own root layout rendering ``/`
`, and Next permits +multiple root layouts only when no `app/layout.tsx` exists. + +- `app/(frontend)/` — the site. Its `layout.tsx` is the site's root layout. +- `app/(payload)/` — the admin panel and `/cms-api`. + +Route groups are invisible to routing, so every public URL is unchanged. + +**The metadata file conventions stay at the `app/` root** — `robots.ts`, +`opengraph-image.tsx`, `icon.png`, `apple-icon.png`. Inside a route group Next +treats them as segment-scoped: it renames `/icon.png` to `/icon-Who's behind this
++ I'm a parent in south-west London. When we started looking at + primary schools, I found the information I needed was all published — + and almost impossible to hold in one place. +
+ ++ SATs results were in one government table. Ofsted judgements were in a + separate service, in a format that had just changed. Admissions + distances were buried in council PDFs, a different one per borough, + each with its own layout. I ended up building a spreadsheet, and then + I got tired of the spreadsheet. +
+ ++ So I built this instead. It pulls the official figures into one place + and puts them side by side, which is what I wanted and could not find. +
+ ++ I want to be straightforward about that. I'm not a teacher, a + governor, or an education researcher. I have no qualification that + makes my opinion about a school worth more than yours. +
+ ++ What I do have is the problem itself — I'm going through primary + admissions right now — and a working knowledge of data, which is what + I do for a living. That combination is enough to take published + figures and present them honestly. It is not enough to tell you which + school is right for your child, and this site never tries to. +
+ ++ Everything here is official published data: Key Stage 2 and Key Stage + 4 results and school characteristics from the Department for + Education, inspection outcomes from Ofsted, and admissions data from + local authorities. Nothing is estimated, modelled or filled in. Where + a figure is missing, the page says so rather than showing a guess. +
+ ++ This is an independent site. It is not affiliated with the Department + for Education or with Ofsted, and nobody pays to appear on it or to + rank higher. +
+ ++ A school is not its results. The figures here describe one year group, + on a handful of days, measured in a way that suits national statistics + rather than your child. A small cohort makes percentages swing wildly + — in a class of thirty, one pupil is more than three points. Results + say nothing at all about whether a child will be happy somewhere. +
+ ++ I try to build that honesty into the site rather than just say it + here. Special schools and pupil referral units are never compared + against a mainstream national average, because that comparison is + meaningless and makes good schools look like failing ones. Where a + number is unreliable, the aim is for the page to tell you before you + draw a conclusion from it. +
+ ++ Tell me and I'll fix it. Genuinely — if a figure looks wrong, or + a page gives a misleading impression of a school, I want to know. + It's the fastest way this gets better. +
+ + +Blog
++ What school performance data shows, what it doesn't, and how to + read it without being misled. Written by{' '} + Tudor. +
+No posts yet.
+ ) : ( +{post.excerpt}
++ By Tudor + {' · '} + +
+ + {/* + A plainWho's behind this
++ I'm a parent in south-west London. When we started looking at + primary schools, I found the information I needed was all published — + and almost impossible to hold in one place. +
+ ++ SATs results were in one government table. Ofsted judgements were in a + separate service, in a format that had just changed. Admissions + distances were buried in council PDFs, a different one per borough, + each with its own layout. I ended up building a spreadsheet, and then + I got tired of the spreadsheet. +
+ ++ So I built this instead. It pulls the official figures into one place + and puts them side by side, which is what I wanted and could not find. +
+ ++ I want to be straightforward about that. I'm not a teacher, a + governor, or an education researcher. I have no qualification that + makes my opinion about a school worth more than yours. +
+ ++ What I do have is the problem itself — I'm going through primary + admissions right now — and a working knowledge of data, which is what + I do for a living. That combination is enough to take published + figures and present them honestly. It is not enough to tell you which + school is right for your child, and this site never tries to. +
+ ++ Everything here is official published data: Key Stage 2 and Key Stage + 4 results and school characteristics from the Department for + Education, inspection outcomes from Ofsted, and admissions data from + local authorities. Nothing is estimated, modelled or filled in. Where + a figure is missing, the page says so rather than showing a guess. +
+ ++ This is an independent site. It is not affiliated with the Department + for Education or with Ofsted, and nobody pays to appear on it or to + rank higher. +
+ ++ A school is not its results. The figures here describe one year group, + on a handful of days, measured in a way that suits national statistics + rather than your child. A small cohort makes percentages swing wildly + — in a class of thirty, one pupil is more than three points. Results + say nothing at all about whether a child will be happy somewhere. +
+ ++ I try to build that honesty into the site rather than just say it + here. Special schools and pupil referral units are never compared + against a mainstream national average, because that comparison is + meaningless and makes good schools look like failing ones. Where a + number is unreliable, the aim is for the page to tell you before you + draw a conclusion from it. +
+ ++ Tell me and I'll fix it. Genuinely — if a figure looks wrong, or + a page gives a misleading impression of a school, I want to know. + It's the fastest way this gets better. +
+ + ++ By Tudor + {' · '} + +
+ + {/* + A plainBlog
++ What school performance data shows, what it doesn't, and how to + read it without being misled. Written by{' '} + Tudor. +
+No posts yet.
+ ) : ( +{post.excerpt}
+