In the past few years, there's been a drastic and often invisible change in the way physical products are sold. Previously, if a vendor wanted to sell graphic tees, they'd have to source, order, and stock dozens of shirts, with no guarantee that they’d ever sell. The rise of Internet-connected print shops has completely removed this obstacle.
Using print-on-demand services, a creator can simply upload their digital artwork and deal with printing and shipping on an as-needed basis (hence the name.) The product doesn't actually get made until it's ordered, and there’s no upfront cost at all.
With this democratization of physical merchandise, online marketplaces such as Etsy, Redbubble, and even Amazon have become absolutely flooded with a huge number of these "ghost products" from prospective designer-entrepreneurs. Putting a design up for sale has never been easier, but it's never been harder to stand out.
Customization sells… but it can be time-consuming
One possibility opened up by print-on-demand is the ability to sell merchandise customized on a per-order basis. If you're printing everything bespoke anyway, it's easy and inexpensive to allow the customer to put a personal touch on the product.
Selling customized merchandise allows you to offer something truly unique to each customer, and people feel a connection to the product they helped design.
Customized merchandise also lets you fulfill orders for products that have way too many options to list on your site, let alone stock.
My eCommerce store: e4e5.shop
That's the case with my eCommerce store, e4e5.shop. We sell chess shirts with any chess position. There are approximately 10^40 (that's a 1 followed by 40 zeroes) possible chess positions—more than the number of grains of sand on Earth. It’d be pretty hard to stock that many shirts! So customization and print on demand is the only option.
Here's the thing, though; with customization, every order (actually, every ITEM in every order) has to be handled individually. For the dog face mugs above, the seller is likely altering the picture by hand (or contracting that work out) for every single mug, which at some point becomes a full-time job. My goal was to remove all manual work so that the business could scale beyond my personal ability to move chess pieces around in Photoshop.
There are a bunch of existing tools that simplify the process of getting an eCommerce business running, so we can spend our time focusing on the differentiating factors. Putting it another way: selling shirts online is a solved problem. We only want to deal with the custom chess position part.
These are the tools I used to build my shop:
I set up the website and storefront using Shopify, which is a great platform that simplifies the trickier parts of running an online store (design, payments, APIs, orders, CRM, etc.) There were plenty of other platforms that I could've used but Shopify is widespread and has great support.
Printful is a white-label print-on-demand provider that takes care of printing and shipment. They have an API that accepts an image URL, which is crucial for automation, so it's possible to create an order with any image on the web.
Chessboard image generator
This is where the magic happens. Most images on the web are served statically; that is, they are stored on a server somewhere, and when requested by the user, they are returned as-is. However, because of the aforementioned 10^40 chess positions, this approach is infeasible for us.
Instead, I created a dynamic image endpoint, where the image is created only when requested. When this endpoint receives a request, instead of returning a stored image, the server creates a new image and returns that, almost like print on demand itself. This component replaces the manual labor of building chessboard images by hand.
Automate it with Zapier
Finally, Zapier wires all these pieces together. Here's how I implement completely automatic order fulfillment for customized items.
When a customer places an order in shopify, my first trigger—New Paid Order in Shopify—gets fired. It contains all the order details Printful will later need for shipping the product, as well as something called a FEN, a textual representation of a chess position. Let's say the customer wanted a shirt depicting the Sicilian Defense, a popular chess opening. In FEN, that would look like this: "rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR".
I then take the FEN and convert it into a URL pointing to the dynamic image endpoint. The endpoint draws the appropriate chess board by parsing the input FEN.
Finally, I pass the constructed image URL to Printful, which takes care of the rest of the process: Choosing the facility closest to the customer, printing the shirt, and shipping the product. Two weeks later, the customer receives their shirt and wears it to their next over-the-board tournament, making all their friends jealous.
Connecting with customers
I got some immediate validation after launching my site when someone screenshotted my ad on Reddit and reposted it. That post went semi-viral and brought a ton of traffic and sales to the site, roughly $3,000 in the first month.
Ultimately, chess is ultimately a pretty small niche (although The Queen's Gambit has helped). Going forward, I see a lot of other ways to apply this same technique to other interest areas. For instance:
Procedurally generated art posters
Astrology shirts with your star sign
Personalized occupation/family/birth year mugs (Hell hath no fury like a DAD born in 1959 who's also a WASTE MANAGEMENT CONSULTANT)
All of these could be done by hand, of course. But by automating workflows and removing the manual labor from order fulfillment, we free ourselves from drudgery to build bigger and better ideas.