Introducing Steel: a tool kit for headless commerce
Originally published on 18 February, 2021 by Jacob Stordahl
I'm very happy to announce the beginning of a new project aimed to provide a dead simple way for Jamstack developers to build e-commerce websites: it's called Steel.
What is Steel?
Steel is a tool kit for building e-commerce solutions on the Jamstack utilizing Snipcart & Sanity. Snipcart is a developer first e-commerce solution that allows you to add a shopping cart to any website. Sanity is a content platform that both delivers your content and provides a customizable UI to manage your content. Use in tandem, Snipcart & Sanity provide the most flexible, yet simple ecommerce development workflow out there — this is why they are the driving force behind Steel. Let's start to look at all of the different parts of the tool kit...
Steel Studio 🎨
The first component of Steel we're going to look at is the Studio. Sanity Studio is the UI provided to us by Sanity where we can manage our content & products. The Steel Studio is simply a pre-configured Sanity Studio with a few key components. First, the schemas provided cover the base needs of a new e-commerce site; simply modify from there to fit your data needs. Second, the Steel Studio comes with the Dashboard already installed, making it that much quicker to install and configure the Steel Plugins we'll go over later. Third, by default there is a singleton schema provided to manage data like site title, contact information, & social media links. There isn't much going on in the base studio; this is intended to not assume much about your needs in building an e-commerce site, leaving enough room for you to build a custom experience.
Steel Plugins 🔌
Steel Plugins are a suite of Sanity plugins aimed to bring the Snipcart REST API into the Studio. These plugins can be anything really; as long as they provide functionality & data that is helpful to future admins who will be using the studio. For example,
sanity-plugin-snipcart-discounts is currently in development and will allow admins to view available discounts, how many times they have been used, as well as being able to create new discounts without needing to leave the Studio. Hopefully this library of plugins will grow & allow developers to create really custom experiences in minutes.
Steel Templates 🧩
While the Steel Studio and Plugins construct the backend, Steel Templates define the frontend. Templates are a collection of starter frontends that connect to the Steel Studio and include Snipcart as the cart provider. The aim with Templates is to provide a starter for any and all frontend frameworks so no matter which you use, you can get a Steel site up and running fast.
The Future 🔭
Currently all parts of Steel are in their beta release except for steel-template-gatsby. The Studio will have more features added soon, but you can check it out here. Make sure to checkout the central repo for Steel where you can find links to all tools that are currently available here.