About
This is a demo store. It sells nothing. Every product is sample data, every price is invented, and the payment method approves everything and charges nobody — so run a checkout all the way to a receipt and see exactly what a customer sees.
This store resets itself on a schedule
Everything resets on the hour — every order, cart, account and edit made since the last reset disappears, including yours. Nothing here is kept and nothing here is watched.
Two sign-ins
| Where | Credentials | What you get |
|---|---|---|
| Storefront | demo@example.com / RenewalTest123! |
A customer account: orders, downloads, addresses |
| Admin | demo / KahunaDemo2026 |
The whole back office, read-only |
They are separate systems — the admin login will not work on the storefront form. In the admin you can open every screen but change nothing; every write is refused with a notice.
Things to try
Eight things worth clicking, in the order they make sense. None of them needs an account except the last.
- Pick a colour on the Sandbar Boardshort. Choose Slate under Colour. The gallery swaps to a photograph of that colourway instead of staying on the first picture. Two photographs cover eight size and colour combinations, because a colourway belongs to the colour rather than to every waist wearing it.
- Tick a material on the shop page. Find Material in the panel down the side and tick Recycled Polyester. The grid is replaced without the page reloading, the count beside every other box changes with it, and a chip appears above the results saying what you asked for. Click the chip's ✕ to take it off again, and the shop front comes back as it was.
- Play the album preview. Offshore Ambient Album has a Preview block under its description holding twenty-six seconds of audio. It is free and public: no purchase, no account, no download.
- Read the Handbook sample. The Shaper's Handbook has two pages of chapter three in the same block, in a reader with a link out. The book itself is a different file that a purchase unlocks, and a sample is never one of the downloads.
- Read a spec table. The Dawn Patrol Hoodie prints its material, its certifications, its fabric weight and whether it survives a washing machine, then the care instructions under a heading of their own. Every row comes from a store-wide definition rather than from free text on the product, which is what makes Recycled Polyester mean the same thing on every product wearing it.
- Look at the shop front, then at a category. The shop is four blocks in a configured order: one large card, then New this season, then the digital goods as dense rows, then everything else. A product appears in the first block that claims it. Now open Digital Goods and look at the filter panel: Format and Updates Included sit there beside Material and Fabric Weight, because five products in this catalog answer them. Nobody configured that panel. A facet is drawn where the catalog answers it and left out where nobody does, so a store that sells no files never sees Format at all.
- Buy something on a calendar. The Wave Log Spreadsheet is sold on a monthly plan, so its buy button says what renews and when rather than offering a one-off purchase. Take it through checkout and the account area grows a Subscriptions screen with a next billing date on it.
- Sign in to the admin with the credentials above, then look at four screens: Catalogue › Attributes, where those spec-table definitions live; the Media panel on any product, which is where the audio and the PDFs above are attached; the Order control on the Products list, set to Manual order; and the Featured tick box under Status on any product. Every save is refused, so open whatever you like.
What you are looking at
| Piece | What it does |
|---|---|
| Grav 2.0 | The CMS underneath all of it |
| KahunaCart | Products, cart, checkout, orders, downloads |
| KahunaCart Dummy | The test payment provider, so checkout works with no real account |
| KahunaCart Licenses | An optional add-on, not part of the core plugin: license keys for two of the digital products, with a version history behind one of them and a public API a customer's own software can call |
| KahunaCart Subscriptions | Another optional add-on: one product here is sold on a monthly plan instead of as a one-off, with the renewals, the reminders and the customer's own cancel button that go with it |
| Kahuna | The storefront theme you are reading this in |
The catalog is not in user/pages. Products, variants, categories and orders live in a database — SQLite, in this store — and you edit them in the admin, not by writing markdown. This page and the home page are ordinary Grav pages and are markdown.
Connect an AI assistant
This store answers GET /api/v1/mcp/tools, which is the manifest an MCP client reads to find out what it may ask a shop for: one entry per admin API route, each with its own description and its own JSON schema. Point an assistant at it and it can look up an order, read the catalog, or check a licence key, in whatever words you would have used yourself.
It needs a key. The endpoint is behind api.access like everything else on the admin API, and what a caller is offered is filtered by what that key is allowed to do, so a read-only key gets a read-only tool list rather than a full one that fails halfway through. An admin can generate one for the demo account from the account screen in the back office.
There is no key printed on this page, and there will not be one. A key published on a page anybody can read belongs to whoever read it first, and this store throws its database away every hour anyway, so it would stop working before it was useful. Generate your own, use it, and let the reset take it.
Connecting an AI assistant is the full documentation.
Contact
There is nobody here. owner@example.com is a placeholder in a skeleton, and mail sent to it goes nowhere.