Skip to content

Self-hosted commerce

The commerce platform you actually own.

It runs on your server. No monthly fee, no cut of your sales, nobody reading your customers’ data. And selling through AI agents comes in the box.

The whole thing, one command

docker compose up -d

Yours, on your server. One command with Docker, then a six-step wizard.

v1.0.0 · last change 2026-09-29 · 3306 checks in the test suite

Four things we do differently.

All four come in the box. Each one is in the code today — and the proof is written underneath it.

  • Sells through ChatGPT and Claude, checkout stays yours

    Your catalogue speaks the agents' protocol: they search it and recommend with real price and stock, and the buy link always points at your site.

    3 herramientas: buscar_productos, ver_producto, informacion_tienda

  • EU AI Act Article 50 compliance built in

    Enforceable from 2 August 2026. Fines up to €15M or 3% of worldwide turnover. Notice in three languages, machine-readable header, and a record of having shown it — without storing a single personal datum.

    Modelo soporte_aviso_ia · cabecera X-AI-Generated · minimización RGPD 5.1.c

  • Themes in the stack of your choice

    A theme is a website that talks to the store over HTTP. Nine stacks supported. Shopify and WooCommerce allow it too, as a separate headless storefront; here it is simply how a theme is made.

    Tabla STACKS: next, astro, nuxt, sveltekit, remix, vite-react, vue, eleventy

  • AI with your own key and a spending cap

    Eight providers, including one that runs on your own machine at zero cost. The key never leaves your server, and the daily cap is in euros — not in requests, because a request has no fixed price.

    8 proveedores · tope diario configurable (5 € por defecto) · 18 modelos tarifados

You already have a shop. That is the first problem we solve.

Nobody starts from zero. You are on Shopify or WooCommerce, you have a catalogue that works and, above all, you have positions on Google that took years. Changing platform is not a technical decision: it is deciding whether you are willing to lose that.

More than half of platform moves lose Google traffic, and almost always for the same reason: old URLs that stop existing without saying where they went. So we don't ask you to export anything: you connect your shop with read-only keys and it comes across on its own — catalogue, customers, SEO titles and the order history a CSV cannot carry.

How the move actually goes
  1. 01

    Connect it, don't export it

    Read-only keys and it fetches the lot: catalogue, customers, orders, coupons, reviews and blog posts. No file to generate, nothing that comes out half-finished.

  2. 02

    Try it with twenty first

    It brings twenty of each thing so you can see how your catalogue looks here. If you don't like it, one button undoes it — and tells you what it couldn't undo.

  3. 03

    One 301 per old URL

    In nginx, Apache, JSON and CSV, downloadable before you import anything — because you need it before you touch the DNS. Your SEO titles come across too.

  4. 04

    Run it again for what's new

    Days pass between migrating and switching DNS, and your old shop keeps selling. Run it again and only the new arrives. Nothing duplicates: not products, not customers, not history.

Counted in the source, not rounded up

  • 50admin screensacross 30 functional areas
  • 354API endpointspanel, storefront and agents
  • 9theme stacksNext, Astro, Nuxt, SvelteKit, Remix…
  • 6AI providersone of them runs on your own machine
  • 3,306checks in the test suitein 130 files, asserting money, not status codes

Agents

Your catalogue, inside ChatGPT and Claude.

The store exposes three tools over the agents’ protocol. The assistant searches with real price and stock, and every buy link points at your own domain: the sale, the customer and the data stay with you.

Connect AI agents

Example conversation

Trail running shoes, size 42, under €90?

tools/call · buscar_productos

{
  "encontrados": 1,
  "productos": [{
    "nombre": "Trail Runner GTX",
    "variantes": [{
      "nombre": "42",
      "precio_eur": 84.9,
      "disponible": 3,
      "comprar_en": "https://tu-tienda.com/producto/trail-runner-gtx?variante=…"
    }]
  }]
}

Found one in stock at your-shop.com:

Trail Runner GTX · 42

84,90 €

Themes

One store. The stack you prefer.

A theme is a website that talks to the store over HTTP. Change the theme and the design changes; the products, prices and orders stay exactly where they were.

Trail Runner GTX

84,90 €Add to cart
// theme.json
"runtime": {
  "stack": "next",
  "target": "ssr"
}

The design changes. The data does not.

The whole table, including the parts we lose.

Every comparison table on the internet is written by the winner. This one ends with a section called what we do not have yet, because you are going to find that out on day one anyway — and it is cheaper for both of us if you find it out now.

What we do differently

What comes in the box, with the proof underneath. Where someone else has it too, the table says so.

FeatureShopifyWooCommercePrestaShoppcreative
Sells through ChatGPT and Claude, checkout stays yoursYour catalogue speaks the agents' protocol: they search it and recommend with real price and stock, and the buy link always points at your site.Built inPartial, or needs an add-onPartial, or needs an add-onBuilt in
Themes in the stack of your choiceA theme is a website that talks to the store over HTTP. Nine stacks supported. Shopify and WooCommerce allow it too, as a separate headless storefront; here it is simply how a theme is made.Built inBuilt inPartial, or needs an add-onBuilt in

Where we are simply better

Others can do it too, often with plugins or paid add-ons. Here it comes in the box.

FeatureShopifyWooCommercePrestaShoppcreative
Moving in from Shopify or WooCommerceEveryone imports a CSV. Here you connect the shop with read-only keys and it fetches the lot on its own — catalogue, customers, SEO titles, coupons, reviews, blog posts and the order history a CSV cannot carry. Orders come in as history: they move no stock, charge nothing and send no email. And you also get one permanent redirect per old URL, in nginx, Apache, JSON and CSV, downloadable before you import anything, because you need it before you touch the DNS.Partial, or needs an add-onPartial, or needs an add-onPartial, or needs an add-onBuilt in
Barcode stock controlGoods in, goods out, full stocktake with differences, and binding a new barcode to a product without losing the scan.Partial, or needs an add-onPartial, or needs an add-onPartial, or needs an add-onBuilt in
Abandoned cart recoveryDetection, email and recovery rate are there; the automatic trigger is not — today it is sent by hand.Built inPartial, or needs an add-onPartial, or needs an add-onPartial, or needs an add-on
No commission per saleShopify charges a monthly fee and, if you take cards through another gateway, a cut of every sale: 2 % on Basic, 1 % on Grow, 0.6 % on Advanced and 0.2 % on Plus. Manual payments are exempt. WooCommerce and PrestaShop do not charge commission either — this one is about Shopify.Not availableBuilt inBuilt inBuilt in

Where we hold our own

Table stakes. Nothing here is a reason to switch on its own.

FeatureShopifyWooCommercePrestaShoppcreative
Admin panelBuilt inBuilt inBuilt inBuilt in
Theme catalogueBuilt inBuilt inBuilt inBuilt in
Customise a theme without codeThe form is generated from what each theme declares, so it works the same whichever stack the theme is written in. Your settings live apart from the theme: updating it never overwrites them.Built inBuilt inBuilt inBuilt in
Visual page editorDrag and drop over the real storefront, with desktop/tablet/mobile preview — home page only for now.Built inBuilt inPartial, or needs an add-onPartial, or needs an add-on
Card-free payments out of the boxFive card gateways (Stripe, Adyen, Mollie, MONEI, PayPal), plus bank transfer, cash on delivery and Bizum out of the box.Built inBuilt inBuilt inBuilt in
Product cost and marginCost per variant, margin worked out on the product page, and cost changed in bulk across variants.Built inBuilt inBuilt inBuilt in
Plugin APIA published list rather than open hooks: 10 events, 7 filters, 5 panel slots. What is on the list is a promise; removing it takes a major version.Built inBuilt inBuilt inBuilt in
Blog and contentBuilt inBuilt inPartial, or needs an add-onBuilt in
Several stores from one panelPartial, or needs an add-onPartial, or needs an add-onBuilt inBuilt in
Multi-currencyBuilt inPartial, or needs an add-onBuilt inPartial, or needs an add-on
Multi-language storefrontTwo languages, Spanish and English: thirteen storefront sections translated, catalogue translated from the panel with your AI, and the main language keeps clean URLs. Shopify and PrestaShop handle dozens.Built inPartial, or needs an add-onBuilt inPartial, or needs an add-on

What we do not have yet

Ordered by how much it hurts. You are going to find this out on day one anyway — better here than after you have paid.

FeatureShopifyWooCommercePrestaShoppcreative
Five-minute install on shared hostingThis needs a server with Docker. One command brings up the whole thing and a six-step wizard finishes the job — but it is not uploading a folder by FTP, and it never will be.Built inBuilt inBuilt inNot available
Extension marketplaceThere is a market for themes and extensions by other authors, with human review, licences and updates that reach buyers on their own. What is missing is installing from it with one click inside the panel.Built inBuilt inBuilt inPartial, or needs an add-on
Subscriptions and point of saleBuilt inPartial, or needs an add-onPartial, or needs an add-onNot available
Managed hostingBuilt inPartial, or needs an add-onPartial, or needs an add-onNot available
Built in Built inPartial, or needs an add-on Partial, or needs an add-onNot available Not available

It needs a server. We are not going to pretend otherwise.

WooCommerce installs in five minutes on any shared hosting because PHP is already running there. This is not that. It needs a machine with Docker — a €5 VPS is enough to start.

What we can promise is that from there it is one command, and then a wizard that shows you the real log instead of a fake progress bar, and puts a button to fix it next to each error instead of a code and a link to a forum.

How installing actually goes

The whole thing, one command

$ docker compose up -d

  1. 01Checks — what is there and what is missing
  2. 02Database — creating the tables
  3. 03Your store — name and basics
  4. 04Administrator — your account
  5. 05Content — start with or without a demo catalogue
  6. 06Done — first steps

Not for you if…

Straight from the last block of the table. If one of these is a deal-breaker today, it is better you know before installing anything.

  • Five-minute install on shared hosting

    This needs a server with Docker. One command brings up the whole thing and a six-step wizard finishes the job — but it is not uploading a folder by FTP, and it never will be.

  • Subscriptions and point of sale

  • Managed hosting

A project you can check

Version
v1.0.0
Last change
2026-09-29
Checks in the test suite
3,306
Documentation pages
50

Read the documentation before you trust a word of this.

50 pages, written next to the code and versioned with it. If the product could not back up this page, the docs would give it away immediately.