Close-up of green leaves on a white background
Close-up of green leaves on a white background


Eager to build an e-commerce website for quite a while, this little experience felt well worth it.

Starting pretty much from scratch—a shiny Gatsby default starter—the site came together layer by layer. Allowing me to make sense of when, where, and how to implement certain tooling when needed.

Complex systems

While they may seem like regular websites under the hood e-commerce sites reveal their true power.

Close up of a very clean and modified Chevrolet Impala engine

The level of complexity can scale substantially with just a few added features. Especially when there are so many possible factors to consider:

  • How will the application state be handled?
  • Where will products be stored?
  • How will checkouts be handled?
  • How will the cart be handled?
  • Do you want to email your customers when they begin a checkout process yet never finish?
  • Will your customers be return users or users that would prefer to login into an account?

And that is just the tip of the iceberg.

So what did you do?

While this is far from a finished product and still has plenty of bugs. My intent, first and foremost, was to gain knowledge with the primary goal of working with the Stripe API and Use Shopping Cart.

Familiarizing myself with these two tools has me confident I can spin up a full-fledged e-commerce site within two weeks. Especially, considering the wealth of resources out there such as the Gatsby Stripe starter. Which comes with Netlify Identity, an admin interface, and serverless functions to interact with the Stripe API.