Weekend Project: Generate an (HTML + JS) eCommerce Site

My Etsy store has been doing well, but I’d like to overcome the friction of requiring an Etsy account. To reach a wider audience, I’d like to additionally offer my products on a site that wasn’t specific to a community. To that end, I created a tool which generates a static HTML + Javascript eCommerce site. Here’s the result: Creative Retrospection.

I looked at a few options to get my own eCommerce site up and running (Shopify, etc), but everything was really out of my price range (for the volumes I’m doing). There are some open source projects that look interesting, but nothing that seemed a clear winner. For my needs, I just wanted something simple, fast, and secure. Static assets with all the logic client-side gives me that.

Static assets are served faster than anything server-side-dynamic, and they require less memory (from the server). Ultimately, the whole site could be thrown on a CDN backed by S3, and I wouldn’t have to manage hosting at all. Because I control the code and the hosting, I have a ton of flexibility for future goals, too (I have several ideas on my TODO list).

Having a Javascript shopping cart means that I am not selling to people that don’t use Javascript. About 2% of people in the US have javascript disabled (lower in other countries), and of those most seem to be the super-security conscious or older mobile phones. Not supporting these groups is a price I have to pay with my setup. The other significant downside is that I have to do manual confirmation of the purchases (amount, tax, etc), because the requests could be tampered with. This problem is not specific to my setup, and is not a big deal with my volumes. It doesn’t take a ton of effort, so I imagine this strategy will scale for quite some time before I need to come up with something different.

I looked at Jekyll (a similar tool for generating static blogs) for this. I have used Jekyll for non-blog sites before, but in this case I found myself not only wanting to skip the blog-specific features, but also add in eCommerce-specific features. I pretty quickly decided that Jekyll wasn’t the right tool for this, so I built Small Store. It takes a list of products and uses a template to generate product pages. It’s very much a work-in-progress, and needs a lot of cleaning up (and additional features). I’ve tried to pull everything specific to my site into config/ but I’m sure I’ve missed some things. Feel free to check it out if it might match your needs.

Published by

Patrick Schless

I'm a (mostly) ruby/rails developer, living in Chicago. I work at Braintree, and I have lots of side-projects.

2 thoughts on “Weekend Project: Generate an (HTML + JS) eCommerce Site”

  1. Have you considered using something like Ecwid? I’ve had a good experience with it, and the free account sounds more than suitable for your purposes.

    The order tracking is *much* easier, too.

Leave a Reply

Your email address will not be published. Required fields are marked *