The bundled stack
A PowersportOS subscription delivers three things: the SaaS backend (catalog, fitments, admin, customer portal), the PowersportOS Shopify Theme with widgets pre-built, and paid hands-on onboarding that wires it all up on your store. You don't buy 'API access' and then build your own integration; the integration is the product.
The three pieces
- SaaS backend
- The API + admin + customer portal that lives at api.powersportos.com / admin.powersportos.com / app.powersportos.com. Houses the catalog, fitments, dealer data, audit log, billing. This is what you log into to manage your tenant.
- PowersportOS Shopify Theme
- A Shopify theme based on the official Skeleton with all PowersportOS widgets pre-built as sections, YMM fitment widget, store-locator dealer map, 'find this part nearby' reseller-stock widget, multi-image product gallery, fitment badge on product pages. You install the theme on your Shopify store, paste your tenant API key into the theme settings once, and the widgets are immediately wired.
- Hands-on onboarding
- We walk you through theme install, API-key wiring, Mapbox token setup, brand-subscription configuration, and any customer-managed Dev Dashboard credentials needed for outbound writes to your Shopify. €1,500 Basic / from €3,500 Full Store Build via Studio. See the pricing page for details.
Why we bundle
The integration work between a fitment-data API and a Shopify storefront is non-trivial. Built piecemeal it ends up looking like:
- Custom theme work to render a YMM widget with the right state management, session persistence, variant-change handling, mobile UX
- Custom front-end work for a dealer map (Mapbox, geocoding, marker clustering, mobile sheet UX)
- Product-page enrichment for fitment badges, OEM cross-references, multi-image galleries
- Stock-locator widget with geolocation handling, distance sorting, reseller consent gating
- A stock-feed pipeline pushing inventory updates from your ERP/POS to PowersportOS on a schedule
Most retailers don't want to commission this work, they want a Shopify store that just has these features. So we ship them. The theme is opinionated about how the widgets behave; you customise the brand layer (colors, fonts, imagery, copy) but not the wiring.
Three audiences, one stack
The same bundled stack serves all our tenant types:
- Retailers
- Single-store dealers, B2C webshops. Use the YMM widget for fitment discovery and the dealer map for storefront location info. Stock pushes from your ERP/POS to the integration API on a schedule.
- Multi-location retailers
- Retail chains with several physical stores. Use the location-aware stock-locator widget so end-customers can see which of the chain's stores has the part in stock. Stock per location is pushed from the chain's POS / ERP.
- Manufacturers
- Brand-direct sites. Use the 'find this part at a reseller near you' widget to drive traffic to dealers carrying their parts. Receive opt-in stock data from PowersportOS reseller tenants.
- Distributors
- Wholesalers and channel partners. Use the platform for catalog distribution to downstream resellers. Shopify product push (catalog → reseller Shopify store, one click or bulk) reduces onboarding from days to hours. Channel Communications layers ongoing blog posts, product releases, and safety recalls on top. Some distributors will run their own retail front using the same theme.
How the storefront integrates
The PowersportOS theme reads from our public storefront API (/api/t/*) using a tenant API key you paste into the theme settings during onboarding. That's the entire integration surface for customer-facing widgets. Authentication is the X-API-Key header; the key is per-tenant and rotatable on demand from your portal Settings.
Inbound data (inventory updates, order events, etc.) is pushed to our integration API (/api/integrations/*) by your own backend or ERP. Typical pattern: a cron job on your side reads from Shopify's Admin API and posts to /api/integrations/stock-feed every few minutes. The onboarding step walks you through wiring this up.
Outbound writes (product push from PowersportOS catalog into your Shopify products) use a customer-managed Dev Dashboard app via Shopify's Dev Dashboard (developers.shopify.com). You create the app, grant the scopes we publish, and provide the Client ID + Client Secret in our portal Settings. We exchange those for short-lived OAuth tokens via the client_credentials grant on each call. The credential stays under your full control; revoke any time. See the product push doc for the full integration.
What about loose API consumers?
Technically supported, the public API surfaces at api.powersportos.com are documented and stable. A customer with their own theme and their own infrastructure can integrate by hand. We just don't optimise for it. The default assumption when we design a new feature is "the customer runs the full PowersportOS package"; the API contract stays solid because the theme depends on it, not because we expect every customer to build against it.
Loose-API engagements are typically priced separately and treated as bespoke work via PowersportOS Studio, our build-service arm.
What "subscription" includes
A standard PowersportOS subscription gives you, ongoing:
- Access to the SaaS backend with your tenant scope
- The PowersportOS Shopify Theme (delivered as a Shopify theme zip you install on your store; subsequent theme updates pushed as you opt in)
- Support, all customers get email support, no premium-SLA upsell
- Brand-subscription access to the central catalog content for brands relevant to your tenant scope
Onboarding (initial theme install, brand-data wiring, customer training) is a separate one-time fee depending on the level chosen, see the pricing page for current tiers.
The case against unbundling
A customer occasionally asks whether they can buy just the backend without the theme. We don't currently support that. The reason is product-quality: the theme is wired with specific assumptions about API behaviour (cache headers, response shapes, session-storage conventions). Breaking the bundle means the cohesion guarantees fall apart, customers run into edge cases we can't easily reproduce because their stack is different from every other customer's.
Sticking with the bundled approach lets us guarantee a baseline experience and iterate fast on the platform. We've found this tradeoff more valuable than allowing piecemeal purchases.