Every so often the web decides it was overcomplicating something, and rips it back out. The static website is the clearest recent example. What sounds like a step backward, plain HTML files served with no application server and no database, quietly became the default again for massive swaths of the web. It is worth remembering how we got here, because the reasons are still doing the work.
The original static web was just the web. Then it was not enough, and dynamic generators and content management systems took over, bolting a database and a scripting backend to every page. The nostalgia for simpler days arrived early. In November 2008 Tom Preston-Werner, a GitHub cofounder, announced Jekyll, a Ruby generator that took plain content and templates and produced a finished static site. His pitch was personal: he wanted to write blog posts in his editor and keep the whole build in his head. A month later GitHub launched GitHub Pages, and because Jekyll was the engine, static hosting arrived for anyone with a repository. That pairing is the seed of everything that followed.
The next decade added the pieces that made static sites a platform instead of a hobby. Hugo shipped in 2013 as a fast, compiled option written in Go. Zach Leatherman released Eleventy in 2018, a simpler generator for people who found the larger frameworks heavy. Maybe the biggest single step was hosting. Netlify, founded in 2014, turned deploys into a git push and popularized the build-and-serve model. Its cofounder Mathias Biilmann gave the movement a name, Jamstack, and a commercial model that paid for itself by selling the dynamic parts you were still allowed to need.
So what actually changed? Three things, and none of them are philosophical. First, performance: a CDN can serve a flat file from memory in milliseconds, and it is the same speed for every visitor. Second, security: there is no database and no application server to patch, so a huge class of attacks simply does not apply. Third, and most honest, developer ergonomics: content in a repository, reviewed, versioned, and deployed through the same pipeline as code, fits how modern teams already work.
The comeback was never about rejecting databases. It was about refusing to pay the cost of a database when a flat file does the job. Static systems are genuinely worse when a site needs per-user content, real search, or heavy personalization, and the ecosystem admits that by offering serverless functions for exactly those gaps. The lesson the industry relearned is simple and a little humbling: a lot of what we were generating dynamically never needed to be, and the forty years of complexity we stacked up had a cheaper answer sitting right where we started.