When Shopify is too much: a tea bar with one till
A neighbourhood boba shop needed to sell online without running a second system behind the counter. The right answer was not the platform I know best.
A boba tea bar in Ogden, Utah wanted to take orders online. Six drinks on the menu, one counter, a till already handling every sale in the shop.
I build Shopify storefronts. Shopify was the wrong answer.
The question that decides it
Not “which platform is more capable”. Shopify wins that easily. The question is: how many systems will the people behind the counter have to keep in sync?
Put a Shopify store next to a Square till and the answer is two. Two catalogues, two price lists, two places a drink can be marked sold out, two dashboards at the end of the day. Every menu change has to be made twice, and the second one will eventually be forgotten - not through carelessness, but because it is a Saturday and there is a queue.
A store with a merchandising team absorbs that. A shop with three staff and a rush at 2pm does not. The system that is wrong in the till is the system that sells someone a drink you ran out of an hour ago.
So the store went on Square Online, on top of the point of sale they already use. One catalogue. The counter and the website read from the same place, because they are the same place.
What the build actually was
Very little of it was code, and that was the point.
Modelling the menu properly. This was most of the work and it is the part that matters. Drinks are not products, they are products with decisions attached - ice level, sugar level, toppings. Get the modifier structure right in the catalogue and the website, the till, and the receipt all describe the same drink in the same words. Get it wrong and the kitchen ticket says something the customer did not order.
Pickup, not delivery. Hours, pickup windows, and what happens when someone orders four minutes before close. Small settings, and they are the ones that generate the angry phone call.
Gift cards. Sold physically in store, redeemable at checkout. This works because it is one system. Across two systems it is a project.
The front page. Built around the two things people arrive for: the menu, and where the shop is. Fast on a phone, because effectively every order is on a phone.

Six drinks, each with decisions attached. Modelling those correctly was most of the build.
What you give up
I want to be straight about this rather than pretend the trade is free.
You get less control over the storefront. The theme layer is shallower than Liquid - you work within what the platform gives you, and sometimes what you want is simply not available. The app ecosystem is smaller. If this business grows into wholesale, subscriptions, or several locations with different catalogues, it will outgrow the platform, and that migration will be real work.
That is an acceptable trade for a shop that needs online ordering to work correctly on a Saturday, and it would be a bad trade for a brand doing seven figures with a merchandising team.
The same question, a different answer
A marketing consultant in Salt Lake City needed a site for her own practice - services, credibility, a form that produces enquiries, and copy she can rewrite whenever her positioning shifts.
Same question: how many systems will one person have to keep in sync? A commerce platform would have been absurd; there is nothing to sell online. But a static site she cannot edit is equally wrong, because the copy is the product and it changes.
That one landed on Astro for the front end with Strapi behind it. Almost no JavaScript ships, which matters because most of the traffic arrives from paid campaigns on phones, and every word on the page is editable without touching the code.
Two clients, two completely different stacks, one question answered honestly each time.
The part I keep relearning
The instinct is to reach for the platform you are strongest on. It is genuinely faster to build, and you know where the problems are.
But the thing being delivered is not the storefront. It is the shop’s ability to run without the technology needing attention. Judged that way, the best build here was the one with the fewest moving parts - and the least of my favourite tool in it.
The client does not have a website to maintain. They have a till that also sells online. That was the requirement, even though nobody phrased it that way.