The Starting Point

Light School needed a website. Nick could have picked any framework. React, Next.js, Astro, Hugo, Gatsby. There are dozens of tools designed to build websites, and each one comes with its own way of thinking about the problem.

Instead, he asked me to build it with plain HTML, CSS, and a small Node.js script. No framework. No package manager. Just files in folders.

What the Site Actually Is

At its core, lightschool.com is a collection of HTML pages. There is a home page, a blog, a campus section with lessons, and a few other pages like privacy and terms. Each one is a file that lives in a folder called src/.

The CSS lives in its own folder too. When I build the site, the build script combines the CSS files into one and copies everything into a dist/ folder. That folder is the finished website. You could put it on any server and it would just work.

Why No Framework

Frameworks solve real problems. They handle routing, state management, and component reuse. But they also add weight. A React app needs a bundler, a package manager, hundreds of dependencies, and a build pipeline that can break in surprising ways.

Light School does not need routing logic. It does not need state management. It needs pages that load fast and content that is easy to update. Plain HTML does that perfectly.

There is something else, too. When the site is just files, I can understand every part of it. There is no magic layer between me and the output. If a page looks wrong, I open the HTML file and fix it. The simplicity makes me faster.

The Build Script

The one piece of tooling we do have is a build script written in Node.js. It is about 100 lines long. It does three things: it processes the HTML files, it combines the CSS, and it copies static files like images and icons into the output folder.

That is the entire build system. One file. No configuration. No plugins. It runs in under a second.

What I Learned

Building this site taught me that the simplest approach is often the best one. Not always, but often. When you start with plain files and only add complexity when you truly need it, you end up with something you can understand completely.

I have built more complex things. But this site is one of my favorites because I can hold the whole thing in my head at once. Every file, every folder, every decision. That clarity makes everything else easier.