- Open Source
- SvelteKit
- Headless
- TypeScript
- Production Ready
- MIT
- SSR + PWA
- 26 Backends
One storefront · 26 commerce backends
- Litekart
- Vendure
- Medusa
- Broadleaf
- Saleor
- Shopware
- Virto Commerce
- WooCommerce
- Magento
- Spree
- X-Cart
- EverShop
- Spryker
- nopCommerce
- PrestaShop
- Sylius
- Swell
- Bagisto
- commercetools
- OroCommerce
- Sharetribe
- CS-Cart
- Shuup
- Shopify
- Django Oscar
- OpenCart
The production-ready open-source headless commerce storefront of 2026. Customize it yourself, just by prompting.
The commerce logic is sealed behind one import, so you can restyle every page, ship a new theme or swap the entire backend — without ever touching checkout.
26 backends · one-line switch · no vendor lock
Make the product gallery sticky on desktop and add a loading spinner to add-to-cart
// buttons/add-to-cart.svelte
- <button onclick={add}>Add to cart</button>
+ <button onclick={add} disabled={loading}>
+ {#if loading}<Spinner />{:else}Add to cart{/if}
+ </button>
Cart, pricing and checkout logic untouched — they live behind $lib/core/services.
Not a starter. A shop.
These are screens from arialshop.com — a real store running this codebase in production, not a mockup.





Numbers you can reproduce.
Lighthouse, median of three runs. Methodology and raw reports are in the repo — clone it and run the audit yourself.
Lighthouse 13.4.1 · mobile · simulated throttling · median of 3 · 23 Aug 2026
Core Web Vitals
- LCP2.4 s
- CLS0.006
- TBT80–250 ms
- Page weight52 KB HTML · 20 KB CSS · 0 KB JS
Same run as the gauges above. No client-side JavaScript on this page.
SEO, verifiable in the source
- RenderingSSR, then SPA
- Structured dataProduct schema
- Canonical URLs
canonical.svelte - Metadata
seo-header.svelte - Sitemap & robotsroute-generated
Category routes generate metadata and canonicals per page and handle pagination indexation deliberately.
Not yet measured: catalogue-scale and concurrency benchmarks — throughput, backend response under load and caching behaviour. Rather than publish estimates next to measured numbers, those stay off this page until there is a reproducible run. Methodology and raw reports →
Why not build another storefront from scratch?
The hard parts of a storefront are not the product grid. They are cart edge cases, checkout state and account flows — and they are already done here.
SvelteKit-native
Real routes, load functions, hooks, streaming and per-route rendering — built on the framework, not around it.
Backend-agnostic
One shared service interface, 26 connectors. Your storefront is never welded to one commerce engine.
SEO-first
Server rendering, canonical URLs, product structured data, dynamic metadata and a sitemap route out of the box.
Performance-first
Minimal client JavaScript, fast client-side navigation after first paint, installable as a PWA.
Themeable
Themes are selectable implementations resolved at runtime — many storefront experiences on one commerce foundation.
Yours to own
MIT, checkout included. No open-core tier, no paid unlock, no hosting you cannot leave.
Keep your commerce backend. Replace the front.
Svelte Commerce sits between the shopper and the systems you already run. Nothing about your catalogue, orders or payments moves.
The storefront holds no products, takes no payments and stores no customer records. It renders and calls.
One interface, many implementations.
Every page imports commerce from a single barrel. Which platform answers is decided by one export — so no component ever names a backend.
The single import
Every route reaches commerce the same way, whatever is behind it.
import { CartService, ProductService }
from '$lib/core/services'The single switch
One line selects the implementation. The storefront code is unchanged.
// kitcommerce.config.ts
export * as services from '@misiki/vendure-connector'Bring your own commerce backend.
You are not required to adopt ours. Twenty-six connectors, each written against its platform's authoritative API contract, all implementing the same service surface.
Wiring ships with the repo
clone, set one env var, run- 39/43
GraphQL Shop API covers nearly the whole surface
- 39/43
Reference implementation · powers the live demo
- 31/43
Store API for catalogue, cart and checkout
- 28/43
Core commerce path over GraphQL
Add the env branch yourself
22 more connectorsBroadleaf, Shopware, Virto Commerce, WooCommerce, Magento, Spree, X-Cart, EverShop, Spryker, nopCommerce, PrestaShop, Sylius, Swell, Bagisto, commercetools, OroCommerce, Sharetribe, CS-Cart, Shuup, Shopify, Django Oscar and OpenCart — each with a setup page and its own coverage score.
Connectors are written from published API specs and type-check against them, but have not all been run against live production stores. Per-platform gaps and open questions →
One engine. Many storefronts.
Same commerce foundation, different brand experience. A theme owns copy, imagery and section composition; the cart underneath is identical, so a redesign never risks checkout.



Running in minutes.
The example environment points at a public demo API, so a fresh clone is already a working storefront.
$ git clone https://github.com/itswadesh/svelte-commerce.git
$ cd svelte-commerce
$ cp .env.example .env
$ npm install && npm run dev
➜ Local: http://localhost:5173
Objections, answered.
Is it really open source?
Yes — MIT licensed, checkout included. There is no open-core tier, no paid unlock and no feature held back behind a licence key. Fork it and ship it commercially.
Is it production ready?
The storefront runs a real shop in production today on Litekart, and v4 ships the complete path: catalogue, search, cart, coupons, checkout, orders and account. The honest caveat is per connector — they are written from published API specs and type-check against them, but have not all been run against live production stores.
Which backend does it require?
None in particular. Litekart is the stock choice because it is the reference implementation, but the backend is one export in kitcommerce.config.ts.
Can I use my existing commerce API?
That is the design. If your platform is one of the 26, install its connector. If it is not, a connector is a set of services extending a shared BaseService, matching the signatures in the Litekart reference.
Is it SEO-friendly?
Server-rendered first paint, canonical URLs, product structured data, per-route dynamic metadata, a sitemap route and robots. Category routes handle pagination indexation deliberately rather than dumping everything onto one canonical.
Can I create my own theme?
Yes. Themes are selectable implementations resolved at runtime from store settings or PUBLIC_STOREFRONT_THEME. A new theme is additive — it cannot regress the one you are running.
Can I use it commercially?
Yes, without restriction or attribution requirements beyond the MIT licence text.
How is it different from a Next.js commerce starter?
Two things: the shopping path is finished rather than scaffolded, and the backend is an interchangeable package rather than an integration threaded through the components. The same storefront runs on 26 platforms.
How is it different from Medusa, Vendure or Hydrogen storefronts?
Those are first-party frontends for one backend, which is exactly what makes them good — and what makes them a dead end if you change platform. This is the storefront layer deliberately kept portable across all of them.
Does it support large catalogues?
Listing, filtering and pagination are server-driven and delegate to the backend, so catalogue size is bounded by your platform rather than the storefront. Concurrency and catalogue-scale benchmarks have not been run yet, and are not claimed on this page.
The production ready storefront
you customize for yourself by prompting.
Describe the change you want. The commerce layer stays sealed behind one import, so restyling never reaches checkout.
Open source · Built with SvelteKit · Designed for modern commerce