Editor's note (2025): This guide covers the fundamentals of building a JAMstack site and remains useful for understanding the underlying workflow. For a look at what we're building today — from Three.js-powered 3D applications to full-stack web development — explore our services.
Build a JAMstack Site
A JAMstack site consists of the following:
CMS or static content
Static site generator
Deployment tool
Domain name (optional)
Hosting
CMS
A Content Management System (CMS) is a tool that makes it easier to manage the content on your website. A CMS allows you to quickly add, remove, or edit content on your website. Many CMS's come with a user interface for adding and editing content. Many offer a form of WYSIWYG editing. Open source CMS's include:
WordPress
Drupal
Joomla
Octopress
Static Site Generator
A static site generator is a tool that automates the creation and publishing of a website. These tools are primarily focused on taking files and converting them to static HTML. The files can contain a variety of formats such as content written in markdown, HTML, or even JavaScript. The tool will then take the file, parse the information from them, and output it to the desired format.
Deployment
A deployment tool is responsible for taking your website and deploying it to a web server. There are many different deployment tools. Some will deploy to a server on your computer, some will deploy to Amazon S3, and some will deploy to a VPS. The documentation for your deployment tool should make the process of deployment clear. The most common deployment tools are:
Netlify
Gitlab Pages
Github Pages
AWS S3
Domain Name
A domain name is a unique name that identifies your website. A domain name serves as a "brand" for your site, and provides a memorable and convenient way to access your site.
Hosting
There are several hosting providers that offer reliable, cheap, and easy to use options for hosting your site. Hosting providers that support static sites include:
GitHub Pages
Amazon S3
Netlify
More Articles
Continue your learning journey with these related articles.
A static site generator is responsible for building your website's pages from templates that you write. It uses your content combined with the template to generate static HTML pages. The result is a static website that you can upload to a host like GitHub, Amazon S3, or your own server.
Choosing the right platform for your website can be a very difficult task. To make things a little easier for you, here is a rundown of the differences between two popular approaches: the Drupal content management system, and the JAMstack site building methodology.
JAMstack is a technique for building modern websites and apps which are better performing and more secure than traditional systems. JAMstack generally uses a combination of JavaScript, APIs, and prebuilt markup to generate pages without the need for a web server.