Operators are the real users
The customer touches the flow once. Your team touches the admin every day, and they will route around anything awkward.
WHEN NO APP FITS
When the logic does not fit an app, we build it. Eat Cake Today runs on a back end we built where each vendor has a daily capacity and each cake a lead time, and together they decide which delivery dates and time slots a customer is offered at checkout.
IN SHORT
Eat Cake Today is a cake marketplace in Malaysia. Customers pick a cake and a delivery date. Simple on the surface, and impossible with an off-the-shelf app, because the delivery dates on offer are not a setting — they are a calculation.
Each vendor can only make so many cakes a day. Each cake has its own lead time. A customer looking at a three-day-lead cake from a vendor already at capacity on Thursday should not be shown Thursday at all. Change the vendor, the cake or the day, and the available slots change with it.
So we built the back end that does that arithmetic: vendor capacity and per-cake lead times feeding the delivery dates and time slots a customer is offered at checkout. The storefront stays Shopify. The scheduling logic is a system of its own.
The rules are yours. Capacity, lead times, vendor logic, made-to-order queues — anything where the way you operate is not how the category operates.
You are chaining apps. Three subscriptions wired together with a Zap and a spreadsheet, each doing a third of the job, is usually the signal that the thing you need does not exist yet.
It is an advantage. If the logic is part of why customers choose you, renting it from a vendor who sells it to everyone is a strange decision.
If none of those are true, buy the app. We will tell you that on the call.
Six stages. The first is writing English, not code.
Before any architecture, the business rules get written in plain language and checked with the people who operate them. Most custom builds go wrong because a rule everyone "knew" turns out to have three exceptions.
What entities exist, what they own, and how they relate. Capacity, lead time, vendor, slot — these become the vocabulary everyone uses for the rest of the project.
We build what the operations team needs before the customer-facing flow, because a system nobody can administer is a system that gets worked around within a month.
Admin API, Storefront API and webhooks, so the storefront stays native Shopify and the custom logic sits alongside rather than replacing it.
Automated tests against the business rules themselves — capacity at the boundary, the last slot of the day, two orders arriving simultaneously for one remaining place.
A period running alongside the existing process with the real team, because the rules that were missing always surface in the first fortnight of real use.
The customer touches the flow once. Your team touches the admin every day, and they will route around anything awkward.
Designing the admin surfaces the exceptions nobody mentioned — the vendor who works Sundays, the product with a different cut-off.
Capacity, lead times and cut-offs belong in data your team can edit, not constants a developer has to redeploy.
A system your team administers is a system you can keep running without the agency that built it.
A cake marketplace connecting customers to vendors across Malaysia. We built the back end that decides what can actually be delivered: each vendor has a daily capacity and each cake a lead time, and together they determine which dates and time slots a customer is offered at checkout.
Clients from the roster whose work this page describes. Each links to what we actually built.
A cake marketplace connecting customers to vendors across Malaysia. We built the back end that decides what can actually be delivered: each vendor has a daily capacity and each cake a lead time, and together they determine which dates and time slots a customer is offered at checkout.
When the rules are specific to your operation — capacity, lead times, vendor logic — or when three apps are being chained together to approximate one behaviour.
You do. The code is yours, in your repository, with documentation.
When the logic is specific to how you operate, when you are chaining several apps to approximate one behaviour, or when the rules are a genuine competitive advantage. If an app does the job well and maintains it, buying is almost always cheaper.
An app built for one merchant rather than published to the App Store. It uses the same Shopify APIs and permissions model, but it is installed only on your store and the code belongs to you.
Yes, when built against supported APIs and versioned properly. Shopify versions its APIs and announces deprecations in advance, so maintenance is scheduled work rather than emergency work — provided somebody is watching, which is what a retainer covers.
Shopify connected to the systems a business already runs on, down to integrations with individual local stores.
Bundle builders and subscription logic that hand off cleanly to Recharge, as built for Tayst Coffee.
Build-your-own product flows, from Trunki custom designs to date-driven personalisation at Moonglow.
Marketplace models are covered under multi-vendor marketplaces. Ongoing ownership of a custom system usually runs as a retainer.
NEXT STEP
Vendor capacity engines, bundle builders and configurators are the work we are asked for most. Tell us the rule set.