For most stores, Shopify is the right start: checkout, payments and hosting are solved on day one. We build custom when one of three things is true: the catalog doesn't fit a normal product list, the business sells something a cart can't hold, or search speed is the product. Here is how that played out for three clients we shipped in 2025.
The short answer
Stay on Shopify, and spend your budget on the front of the store, unless:
- Your catalog breaks the product list. Hundreds of thousands of items, or stock that changes every hour from a supplier.
- The sale doesn't end at checkout. You sell a service or a subscription, and the real work happens after the payment.
- Search is the product. Buyers shop by filtering a huge catalog, and every second of waiting costs a sale.
None of our three clients was a close call. One stayed on Shopify. Two needed custom builds, for different reasons.
Party Depot: we stayed on Shopify
Party Depot sells everything for a celebration: balloons, decorations, tableware, candles, costumes and toys. Thousands of products, but they're normal products: a photo, a price, a few variants, a cart. That's exactly what Shopify does well, so we kept its checkout, admin and payments as they are.
The work went into everything around the cart:
- A custom Liquid theme. The brand wanted the store to feel as playful as a party, and to let people shop by type, color, occasion, theme and age, with Quick Add on every product card. Shopify's ready-made themes couldn't do either.
- Personalized products. Customily lets shoppers put a photo, name or initials on a balloon, and see it on the product page before they buy.
- PlanTogethr AI. Shoppers enter the event type, guest count, date and budget, and get a party plan in seconds. It runs as an n8n workflow that calls a GPT model, and shoppers can open it from the collection pages too.

The lesson: customize the front of the store and keep the standard checkout. Design, the theme, the AI planner and the personalizer went live in one month.
Diavaia: we built custom
Diavaia sells natural and lab-grown diamonds online, mainly to buyers in the US and Canada, and delivers to 29+ countries. The catalog has more than 1.3 million certified stones. They come from a supplier's API, each one has a dozen attributes (shape, carat, cut, color, clarity, certificate and more), and they're also for sale elsewhere, so stock changes every hour.
A hosted platform stores every product as a listing that you create and update through its API. Pushing 1.3 million stones through that API every 45 minutes, and then filtering them by a dozen attributes while the buyer waits, wasn't practical. Showing a stone that had already sold elsewhere would lose the sale and the buyer's trust.
So we built the store around the catalog:
- A sync job pulls the supplier's data every 45 minutes into two databases: DuckDB for search and PostgreSQL for orders.
- DuckDB is built to scan very large tables fast. A filtered search across all 1.3M+ stones returns in 300ms.
- The storefront runs on Astro, so pages are fast and easy for search engines to read.
- Payload CMS lets Diavaia's team manage pages, the Vault and guides without a developer, and Authorize.net handles checkout.
Built in two months, from kickoff to launch.
Dzyns: we built custom
Dzyns is a design subscription. Clients pay a flat monthly fee and send unlimited requests for logos, websites, UI, branding, social posts and more, with an average turnaround of two business days.
Shopify can sell a subscription with an app. What a store can't do is run the work after the payment. Dzyns clients need a place to submit requests, chat with the designers, receive files and keep a design board, and the team needs to manage all of it without email threads.
So we built two products that share one login:
- A marketing site in Next.js that explains the service, shows the work and pricing, and books intro calls.
- A client app in Laravel, at app.dzyns.com, where clients register, pay, submit requests, chat and receive designs.
- Stripe runs the billing: monthly plans, trials, upgrades, pauses and cancellations, with no manual invoices.

Designed and built in three months, site and app together.
The decision checklist
| Question | Points to Shopify | Points to custom |
|---|---|---|
| How many products, and where do they come from? | Up to tens of thousands, managed by your team | Hundreds of thousands or more, synced from a supplier |
| How often does stock change? | Daily or less | Every hour |
| Does the sale end at checkout? | Yes, then you ship it | No, there's a service or workspace after the payment |
| Do customers need an account area beyond orders? | Order history is enough | Requests, files, chat, dashboards |
| Is filtering the main way people shop? | Browsing collections works | Buyers filter a huge catalog by many attributes |
| Do you need to own the code? | Renting the platform is fine | You want the code, with a full handover at launch |
If every answer is in the left column, choose Shopify. If one or two are on the right, talk to someone before you decide. If most are on the right, build custom.
What it costs and how long it takes
Shopify: USD 29–299 a month for the Basic to Advanced plans, billed yearly (USD 39–399 if you pay monthly). Add paid apps and any custom theme work, and check the transaction fees for the payment provider you'll use.
Custom: a custom store at HEZ is usually USD 12,000–25,000 (about IDR 215–450 million) to build, plus hosting and a care plan from USD 150 a month. You own the code. We hand over the repository and every account it runs on at launch, if you ask. Our article on what a fixed-scope MVP costs explains how we price it.
Time: our three projects took one month (Shopify with a custom theme, an AI planner and a personalizer), two months (a custom store) and three months (a site plus a client app).
What about WooCommerce?
WooCommerce sits in between. It's free, runs on WordPress, and you host it yourself, so you own the data and can change anything. It's a good fit when a brand already runs on WordPress and has someone to keep it updated. We build on it too. For the three clients above, it wouldn't have changed the decision: Party Depot was better served by Shopify's hosted checkout, and Diavaia and Dzyns needed things a store plugin doesn't do.
Frequently asked
Yes. Shopify lets you export products, customers and orders. The main risk is losing search traffic, so map every old URL to its new one with a redirect before you switch.
Not always. Our custom Diavaia store took two months. Our Shopify project took one month, and it included an AI planner and a personalizer.
You do. The code belongs to the client. When the store launches, we hand everything over on request: the repository and every account the store runs on.



