The first creative venture we’re pursuing with Start Small Farms is a gift box business. Part of that business will be an ecommerce website.
Kim and I have been building websites and the software that powers them for a living for over twenty years. My instinct every single time is to build the thing myself from scratch.
Because we’re starting small, we’re not going to build something from scratch… at least not yet.
What we actually need
Before you pick a tool, you have to be honest about what the thing needs to do. Here is a short list of our requirements for the gift box biz website:
- No memberships or subscriptions yet. Someday, maybe: scheduled boxes for repeat buyers. Not now. Today it’s “buy a box, we deliver or ship a box.”
- No WordPress. I know. I run a WordPress company. More on that in a second.
- Easy to customize by vibe-coding. I want to be able to describe a change in plain English, have AI help me make it, and see it live. That’s how we build now.
- Easy to hand to AI agents. A big part of the plan is letting agents help process orders, so the platform has to have a clean way in.
- Easy to plug into the systems we already run — our email tools, Trello, Slack, the rest of it.
To be honest, the only 2 platforms I considered were WordPress and Shopify. We don’t want to use WordPress for this. First, … actually, that one deserves its own section. Keep reading.
Why Shopify
I landed on Shopify for almost aggressively unexciting reasons: it’s the standard, it’s reliable, it has a genuinely clean API, and the company keeps skating to where the puck is going (their headless tooling and their approach to AI are cutting edge).
For a first store selling a handful of gift boxes, “standard and reliable” is worth more than “clever.” Shopify runs millions of stores and is the most popular way to sell things online outside of Amazon.
We’ll start on Shopify’s Grow plan (about $105/month, cheaper if you pay annually). We don’t need the fanciest tier, but we do need a couple of things the cheapest plan doesn’t give you: more than one staff account, and full access to our own data through the API. If agents and integrations are going to do real work here, they need the real data.
The store will live at shop.startsmallfarms.com to begin with. Payments run through Stripe, tied to our existing Stranger Studios business.
Why Not WordPress
Since I’ll get asked: yes, my day job is Paid Memberships Pro, which is a WordPress plugin, and no, we’re not building this on WordPress.
Two honest reasons why:
The smaller one is that the WordPress world has gotten wobbly enough lately that I wasn’t excited to bet a brand-new venture on it.
The bigger one is that I’ll learn more by building somewhere else. Running our own store on Shopify, feeling where it’s great and where it fights us, is worth more to me than the comfort of home turf. I fully expect to bring what we learn back to our PMPro work. That’s a whole post of its own I plan to write.
Phase 1: keep it embarrassingly simple
I will keep repeating “simple is better than complicated,” even though my track record proves I choose complicated more than a sane person should.
Simple products. Simple categories. To start, the only thing you can buy is a whole box not the individual pieces inside it. Every box has a notes field so you can tell us “no nuts” or “she’s not a candle person,” and we adjust by hand. If someone falls in love with, say, the soap that came in their box and wants three more, we’ll sell components one-off, by request, instead of building a giant configurable catalog on day one. Discount codes, yes. And we’ll add little call-outs and links from the main startsmallfarms.com site and these blog posts over to the shop.
One rule to help keep things simple: avoid apps. The Shopify App Store is where “simple” dies, and a lot of apps won’t come with us when we eventually go headless. I’m allowing exactly one candidate: Barn2’s bundles and bulk discounts app. If and only if we actually need it for box bundles. We’ll see if I can hold myself to that or if we’ll change our minds once we start needing features. My guess is we have the skills to build things ourselves in a way that will work both for the default storefront and any custom headless storefront we make later.
💡 Wait, what’s a “headless” storefront?
Normally a Shopify store is one bundled thing: Shopify runs both the back end (products, inventory, checkout, payments) and the front end — the theme, the pages, the buttons your customers actually click.
Going headless means keeping Shopify’s back end but chopping off that front end (the “head”) and building your own in its place. Your custom site talks to Shopify through its API to fetch products and process checkout, but everything a customer sees is code you control.
The trade-off is simple: you give up the convenience of a ready-made theme in exchange for total control over the experience — which is exactly why it’s Phase 2 here and not Phase 1. For a handful of gift boxes, Shopify’s built-in storefront is plenty. Headless earns its keep once “make it work our way” is worth more than “have it work out of the box.”
Phase 1.5: the parts that make it ours
A plain shop is fine. A plain shop wired into the way we work is the actual goal.
Here are some things we plan to integrate into the site as soon as we get it launched:
- Email marketing. Still undecided. We already use Brevo for the blog newsletter; the shop might share it or might want its own tool. Genuinely open on this one.
- Trello. Incoming orders flow into a Trello board so humans and agents can see and process them cleanly. Order comes in, card appears, work happens where we can all watch it.
- AI agents. At PMPro we have an agent named Flint that helps us with all sorts of things. Start Small Farms is going to want its own. Which brings me to the one favor I’ll ask: what should we name it? Our whole “Human > AI > Human” thing means a person still owns every order, the agent just does the fetching and carrying. But it needs a name. Find us on Instagram because I’m collecting nominations.
Phase 2: going headless (someday, on purpose)
This is the part I want to build tomorrow, which is exactly why we’re not building it tomorrow.
Eventually we’ll outgrow the standard storefront. I can already feel the shape of it: the moment integrating our own tools gets more annoying than just building our own front end.
That annoyance is the signal.
When we hit it, we’ll build a custom storefront on Hydrogen, Shopify’s React framework for headless stores, and move the shop to startsmallfarms.com/shop/ as part of the main site.
What that unlocks is the fun stuff: real component-level inventory (a box shows as available when the things inside it are), the ability to talk to an agent and have it build your box for you, and yes, memberships and scheduled boxes for the repeat buyers. All to-be-determined. All later.
As long as we keep Phase 1 simple and don’t get hooked on a pile of apps, the plain store and the future headless store are the same Shopify underneath.
The actual lesson
The most on-brand thing I did on this project was not build something. Left alone, I’d have spent three months on a beautiful custom storefront for a store with zero orders. Instead we’re going to stand up a boring Shopify shop, try to make the theme look like us, and start selling boxes. If we truly hate it, we can speed-run to headless. But even then, the boring base store is useful for all the backend work.
Start small. Ship the box. Keep it simple. Custom features can wait until we’re truly ready for them, even if it’s the most exciting bit for me to build.
— Jason