Finding something to learn
3,680 classes across 124 subjects. The job of the front of the site is to make that number feel like a shelf rather than a wall.
The five tiers
| tier | route | subjects | classes |
|---|---|---|---|
| Primary | /primary | 7 | 210 |
| Middle | /middle | 14 | 420 |
| High School | /high | 29 | 871 |
| College | /college | 50 | 1,500 |
| Topics | /topics | 24 | 679 |
Every tier page lists its subjects; every subject page (/high/hs-biology) lists its 30 classes in order. Topics is the odd one out: it is not a school year, it is adult-interest material — AI & LLMs, Critical Thinking, Forensic Science, The Attention Economy — and it carries its own skill ladder (Explorer → Builder → Scholar → Expert) instead of a grade.
Browse
/browse is the catalogue across all five tiers at once: search by subject or class title, filter by tier. It is the right link to send someone who does not already know which shelf they want, and it is where the spoken call-to-action in every social clip points.
Tier theming
Picking a tier changes more than the URL. The learning surfaces re-theme — Primary gets warmer colours and larger type, College gets denser layout — and the choice persists.
Two things worth knowing if you are debugging this:
- The theme applies only to learning surfaces, never to marketing or account pages.
- The route list that decides "is this a learning surface" is duplicated in
lib/tier.jsand
in the pre-paint script in layout.js. Edit both, or the page flashes the wrong theme on load.
- A tier stuck on the wrong theme is almost always
localStorage, not a bad deploy. Check that
before you blame the build.
What an anonymous visitor can see
Catalogue, tier pages, subject pages, and one public sample lesson at /lesson. Every real lesson at /lesson/[slug] requires an account — free to create, no card. See 8 · Plans, access and learners.
This gate is client-side. It keeps the full text out of the rendered page for anonymous visitors, which deters casual scraping; it is not hard protection of the media on the CDN.