Hacker News new | ask | show | jobs
by teekay 1456 days ago
I have long thought that the JAM stack is primarily aimed at hobbyists, and I have changed my mind on the subject.

True, for a hobbyist updating a blog a couple times per month, it works great.

No Wordpress nightmares to wake you up at night, no databases going down and taking your site offline. And, should I mention performance? Once the site is built and deployed, that is.

Also, no limits as to how you can configure your site. With a bit of coding, you can usually make the static site generator do your bidding.

Personally, I use Eleventy [1]. My site has 200+ pages and the build time is not an issue.

Now, I am authoring manually in Markdown using VS Code. That's probably not the right tooling for the editors at some content shop.

Many static generators do have hooks into CMS's. Eleventy, for example, has a plugin that interacts with the Ghost CMS API [2]. I haven't tried it but if I read it right, it can suck content out of Ghost and publish it as static HTML.

That might be a way to get the best of both worlds: a comfortable authoring experience AND the performance of a static site.

My argument for why the content shops should give the JAM stack a try is based on a recent experience.

I was helping out a team developing a large content website with hundreds if not thousands of articles and many updates throughout the day.

I was there mostly for backend work and DevOps. And boy, did I have my hands busy!

We hosted on a PaaS with maxed-out specs for both the application server and the database (Postgres). The bills must have been in the four figures monthly just for the servers. And yet, it took us months to get the performance to a level that was even acceptable: not great but okay-ish.

I would not recommend a database-backed CMS for a popular content website if we could avoid it at all, and if budget was a thing. Rather, I'd explore how to make a JAM stack-based solution work for the client.

With that said, I concede that yes, of course the static site generators have their own issues. The right answer depends on which tradeoffs you are willing or able to make.

[1] https://www.11ty.dev/ [2] https://www.npmjs.com/package/eleventy-plugin-ghost