Headless Stacks

Headless Stacks

JAMStack is an API-based alternative to WordPress and similar CMS. It has its disadvantages but it is great for performance.

TheoryDigital for ATNET, in-house

Timeframe: 2018+

Publishing system, Web application, Data management

Tools: JAMStack, MongoDB

JAMStack is a jargon terms for API-based WordPress alternatives with content management as a service, separated from the front-facing website.

JAMStack publishing engines make for faster websites with lower hosting and maintenance costs. The published website your readers see can be served from a static copy, similar to a snapshot, rather than dynamically upon request from a database (the WordPress way). Serving a snapshot makes the load time shorter and the navigation through the web app much smoother.

Why you don’t need a database

Database systems are the bottleneck of security and maintenance costs. You don’t actually need one to run a website. It is much smarter to use a content management system that runs off-platform, and have the content downloaded via API.

With JAMStacks, one aspect of not serving through a database is that the security overhead is mostly outsourced to the provider of the content management API. The API will mostly come with a backend, a so-called BaaS (Backend-as-a-Service).

This is what such a backend looks like:

Nothing geeky, not much different from WordPress in fact.

Your website is serving a snapshot of what was edited in an interface like the one above. Your site is always unaffected by any service disruption on part of the backend provider, and it is leaving you with not much to do in terms of cybersecurity on your own website.

It also can be a great way to really slash the costs of a content-heavy publishing project that is meant to be lean. Content heavy websites pulled live from a database need expensive servers. Static sites can be hosted for free or for next to nothing. Some BaaS startups offer very generous free tiers, too.

With database, but not in real time

To name one example, The Business Of Crypto runs on the following stack:

  • Jekyll, Ruby-based static site generator
  • Contentful, an API-based backend service with adjustable content model
  • VueJS scripts
  • SQLite3 database, which is however not exposed to the wilderness of the public internet

In this particular project, data stored in the database do not need to be retrieved every time there is a visitor. The contents of the website only change when they are edited by the admins.

In this case, the better solution is to hook a script to the static generator deploy routine. It will export the latest version of the database into a CSV file, which is then natively processed by the static site generator and fills up the website.

If the data stored in a database do not need to be retrieved dynamically, it is reasonable to only retrieve them once during the deploy routine and serve a snapshot.
Other Work

Publishing Network

Digital Marketing

RECOVID

Information Architecture

RFlow

Backend