Skip to content
Lee Denness
← All work
Nº 03Live· My own product

SchemeForge

A curriculum planner for primary schools. Before building the platform, I built the smallest thing that could tell me whether teachers wanted it.

Role
Founder · product, design & engineering
When
2026 – now
Stack
TanStack Start, React, TypeScript, Tailwind, Supabase, Claude, Railway
Website
schemeforge.co.uk ↗
The SchemeForge home page, with a school name typed into the search and the matching school suggested below it.

One question first

SchemeForge writes a history curriculum rooted in a school’s own area: its streets, its landmarks, its local stories.

A full platform for that would mean accounts, billing, every subject and every year group. Before building any of it, I wanted to answer one question: would a teacher read a plan and say “this could only belong to my school”? If the answer was no, nothing else was worth building.

The smallest thing that could answer it

So the first version does one thing:

  • It covers one subject and age range: KS2 history.
  • There’s no sign-up. A teacher types their school’s name and gets a plan in under two minutes.
  • The plan is theirs to keep. They can download it as a PDF or share a link with colleagues.

Everything else waits until teachers’ reactions say it’s worth building.

Small doesn’t mean rough

The scope is small, but it isn’t a throwaway prototype.

Every school in England is searchable as you type, using the Department for Education’s public register.

Each plan is rooted in the school’s area. It starts from research into local history, then covers the periods the National Curriculum requires.

The plan streams onto the page as it’s written, so nobody sits watching a spinner.

Plans are built to be shared. They download as a tidy PDF, and a shared link shows a preview card for that school’s plan.

Costs have guard rails. Every plan costs real money to generate, so there are daily limits, rate limiting and invisible bot protection.

Why it’s here

This is how I’d approach your product too. Find the assumption everything else depends on, build the smallest thing that tests it with real users, and only then build the rest.