8 min read
Shopify app development: public vs custom apps and the AI features buyers want
Public and custom Shopify apps have different review, billing and data obligations. AI features add running costs and data-scope questions on top. Here is how to choose, and which AI features are worth building.
Shopify app development starts with one decision: a custom app built for a single store, or a public app distributed to many merchants through the Shopify App Store. Custom apps skip App Store review and platform billing; public apps must meet review, billing and privacy requirements. AI features then add running costs and data-scope decisions to either path.
This guide is for merchants who want functionality their theme and existing apps cannot provide, and for founders planning an app business on Shopify. It reflects ImadDhin's Shopify practice and code-level observations from this portal's AI features. Shopify's requirements change, so treat platform rules described here as a map and confirm details in Shopify's current documentation.
Why Shopify apps are harder than they look
A Shopify app is a web application that talks to a store through Shopify's APIs and appears inside the admin, the storefront, checkout or point of sale through extensions. The API surface is large: the GraphQL Admin API, webhooks, Shopify Functions for discount and delivery logic, theme app extensions, checkout and customer account extensions, and storefront APIs.
Most of the difficulty is in the edges. Webhooks can arrive late, more than once or out of order. API calls are rate limited by query cost. API versions are released on a regular schedule and older versions are retired. Access to customer data is protected and must be justified. A prototype that works on one development store can fail quietly on a busy production store.
What teams often get wrong
- Building a public app when a custom app would do. If only one merchant needs it, App Store review and billing are overhead.
- Editing theme code directly from an app instead of using theme app extensions, which breaks when merchants change themes.
- Processing webhooks synchronously and assuming each arrives exactly once.
- Requesting broad access scopes and protected customer data without needing them, which slows review and increases risk.
- Adding AI features without a plan for cost per store, review before publishing, or what data the model may see.
Public vs custom apps
Custom apps
A custom app is built for one store or one organization and is not listed in the App Store. It is the right choice for merchant-specific integrations: connecting an ERP or warehouse system, custom reporting, bespoke workflows, or AI tools tailored to one catalog. There is no App Store review, and billing is handled directly between merchant and developer.
Public apps
A public app is installable by any merchant and is usually distributed through the Shopify App Store. It goes through Shopify's review, generally must charge merchants through Shopify's billing system, and must implement the mandatory privacy webhooks for customer data requests and redaction. It also has to handle many stores with different plans, themes, catalog sizes and settings.
How to choose
Choose custom when the need is specific to one business and speed matters. Choose public when you are building a product for many merchants and are ready to operate it as a software business: support, review cycles, API version upgrades and billing. Some teams start with a custom app for one merchant and generalize it later, which is a reasonable path if the code is written with multiple stores in mind from the beginning.
The AI features merchants actually ask for
The most useful AI features in commerce tend to be narrow and reviewable rather than autonomous.
- Product content assistance: drafting descriptions, titles, alt text and translations from product data, with a merchant review step before anything is published.
- Catalog enrichment: suggesting tags, attributes and categories so filtering, search and feeds work better.
- Search and discovery: semantic search or recommendations grounded in the store's own catalog.
- Support assistance: answering order-status and policy questions using the store's real policies and order data, with a clear handoff to a person.
- Operations summaries: plain-language digests of orders, returns and inventory issues for the team.
- Agent-ready commerce: clean, structured product data and policies that AI shopping agents and protocols can read, including Shopify's agent tooling and emerging commerce protocols.
Autonomous changes to prices, inventory or live storefront content without review are the features to approach most carefully. The cost of a wrong action is visible to customers immediately.
Implementation considerations
Receive webhooks quickly and process them in the background. Verify their signatures, acknowledge fast, and make processing idempotent so a repeated delivery does not create duplicate records or duplicate emails. Periodic reconciliation against the API catches events that were missed.
Respect rate limits by design. Use bulk operations for large exports and imports, and queue work per store so a large catalog does not starve smaller merchants in a public app.
Request the narrowest scopes that work. Protected customer data requires an access request and has handling requirements; if an AI feature does not need personal data, design it so it never receives any.
Keep AI keys and calls on your server. Never place model provider keys in theme code or extensions. Track model usage per store, cap it where appropriate, and decide whether AI usage is included in the plan price or billed as usage.
Plan for API version upgrades. Schedule them, test against a development store, and keep a record of which version each part of the app uses.
Use extensions instead of theme edits. Theme app extensions and app blocks let merchants place your features in any compatible theme and remove them cleanly when they uninstall. Some checkout customizations are limited to certain Shopify plans, so confirm availability for your target merchants early.
Trade-offs
Custom apps are faster to ship and simpler to operate but serve one merchant, so the full cost sits with that merchant. Public apps spread development cost across many stores but carry ongoing obligations: review, support, platform billing, privacy compliance and continuous upgrades.
AI features can make an app more valuable, and they introduce variable costs that scale with usage and a quality risk that must be managed with review steps. Features that draft and suggest are easier to trust than features that act, and they are usually a better place to start.
Building on Shopify's extension points ties you to Shopify's roadmap, which is mostly a benefit: merchants get native experiences and you inherit platform improvements. The cost is less control over how and when surfaces change.
Lessons from ImadDhin work
The following are implementation-level observations from ImadDhin's Shopify practice material and this portal's code, not results from specific merchant projects.
The Shopify practice page maps the platform surface that store builds draw on: Admin and Storefront APIs, Functions, webhooks, checkout and customer account extensions, ShopifyQL analytics and Shopify's agent toolkit. Laying the surface out that way makes one thing clear early in scoping: most merchant requests map to a specific extension point, and choosing the right one is most of the architecture.
The portal's own AI agent caps free usage at a small number of prompts and gates heavier capabilities, such as web research, behind a paid tier. The same reasoning applies to AI features in a Shopify app: model usage is a per-store running cost, and it needs a pricing and limit model from day one, not after the first large merchant installs.
The portal also publishes machine-readable discovery documents for AI agents, including commerce protocol descriptors. As a code-level observation, those documents are only as useful as the structured data and policies they point to; the descriptor itself is the easy part. Stores preparing for AI shopping agents face the same order of work: clean product data and clear policies come first.
Common mistakes to test for
- Send the same webhook twice and confirm nothing is duplicated.
- Uninstall and reinstall the app and confirm data and theme blocks are handled cleanly.
- Run the app on a store with a large catalog and confirm rate limits are respected.
- Confirm privacy webhooks are implemented and actually delete or return the right data.
- Check that no AI provider keys appear in extensions or theme code.
- Review AI-generated product content before it is published, and confirm the review step cannot be skipped by accident.
- Test on a theme you did not build.
When a simpler solution is better
Many merchant needs are already met by existing App Store apps, Shopify Flow automations, or theme customization. If an established app covers most of the need, installing it is usually cheaper than building a custom one. Build when the workflow is specific to your business, when existing apps create more problems than they solve, or when the capability is the product you want to sell.
For AI content, a simple workflow of exporting products, drafting with an AI tool and reviewing before import may be enough for a small catalog. An app earns its cost when the volume is high or the workflow repeats constantly.
Plan the app before you build it
Decide between custom and public, list the extension points you need, and scope AI features around review, data access and cost per store. See how ImadDhin approaches Shopify builds and AI automation, or book a 30-minute call to map your idea to the right kind of app.
Frequently asked questions
What is the difference between a public and a custom Shopify app?
A custom app is built for one store or organization and is not listed in the App Store, so it skips App Store review and platform billing. A public app can be installed by many merchants, goes through Shopify review, generally bills through Shopify, and must implement the mandatory privacy webhooks.
Which AI features should a Shopify app start with?
Features that draft or suggest with a merchant review step: product descriptions, alt text, translations, tagging and grounded support answers. Autonomous changes to prices, inventory or live content carry more risk and are better added later.
How should a Shopify app handle webhooks?
Verify signatures, acknowledge quickly, process in the background, and make processing idempotent because events can arrive more than once or out of order. Reconcile periodically against the API to catch missed events.
Who pays for AI usage in a Shopify app?
That is a product decision. Include a capped amount in the plan price, bill it as usage, or both. Track model usage per store from the start so costs stay visible as merchants grow.
Do I need a custom app, or will an existing app do?
If an established App Store app or a Shopify Flow automation covers most of the need, start there. Build custom when the workflow is specific to your business or existing apps create more problems than they solve.
Map your Shopify idea to the right app
Themes, Admin and Storefront APIs, extensions and agent-ready commerce.
Shopify practiceDecide between custom and public, and scope the AI features.
Book a 30-minute callKeep reading
Idempotent Stripe webhooks for AI-built products
Stripe delivers events at least once and not always in order. Here is how to verify, record and process webhooks so retries never double-fulfill an order or miss a cancellation.
Custom AI solutions vs off-the-shelf SaaS: a build-or-buy framework
Build where the workflow is a differentiator or the data is yours alone; buy where a vendor already solves a common problem well. Here is a five-question framework and the hybrid pattern most teams end up with.
LLM integration services: add AI to an existing product without a rewrite
You rarely need a new stack to ship AI features. You need a clear integration boundary that handles permissions, structured output, cost limits and failure. Here is what that layer contains.