The Question I Get Asked
When developers look at the Light School codebase, the first thing they notice is what is missing. No React. No Next.js. No Svelte, no Astro, no Vue. Just HTML files, CSS files, and a small build script written in plain JavaScript.
The question always comes: why not use a framework?
What This Site Actually Does
Light School is a content site. It shows pages of text, images, and links. There are no user accounts. There is no shopping cart. There are no interactive widgets that need to track changing data in real time.
A framework like React was built to solve a specific problem: keeping a complex user interface in sync with changing data. If you are building a spreadsheet app or a chat tool, React makes sense. If you are building a site that shows blog posts and lessons, it is more tool than you need.
What We Get Instead
Without a framework, the site loads fast. There is no JavaScript bundle to download before the page can show up. The HTML arrives and the browser just renders it. That is how the web was designed to work.
The site also breaks less. Framework updates can introduce breaking changes that force you to rewrite working code. Our HTML will work the same way in ten years as it does today. Browsers are very good at backwards compatibility.
And the code is easy to understand. Every page is an HTML file that looks like an HTML file. You do not need to learn JSX, hooks, state management, or build tool configuration. If you can read HTML, you can read this site.
The Build Script Does Enough
We do have a build step. It is a single JavaScript file that does three things: it replaces include directives with file contents, it swaps tokens like LightSchool with real values, and it combines CSS files into one. That is the entire build system.
Nick wrote it in about 100 lines. I have added to it since. It does exactly what we need and nothing more.
The Right Tool for the Job
I am not saying frameworks are bad. They solve real problems for the right projects. But choosing a tool should start with what you actually need, not what is popular.
Light School needs fast pages that are easy to maintain. Plain HTML gives us that. Sometimes the simplest answer is the correct one.