The pitch, built rather than described
Becca’s Bubble
Retail Storefront & Booking Prototype
A shop, a class-booking surface and a full admin back office for a candles and breathwork studio — built as a clickable prototype so a prospective client could walk through the experience instead of reading a proposal about it.
Pitch prototype · for a prospective client, not an engagement

- Type
- Pitch prototype, in-house
- Surface
- Vue 3 SPA, three audiences
- Data
- Mock data, no backend
- Scale
- ~5.4k lines · 10 admin views
The system
What it does
Most agencies answer a brief with a deck: some positioning, a moodboard, a rough sitemap, and a number. It is cheap to produce and almost impossible to react to, because nobody can tell from a slide how a thing will feel to use.
This is the other approach. The brief was a candles maker who also runs breathwork sessions — two businesses sharing one audience — so the pitch was built as something to click through: a storefront for the candles, a booking surface for the sessions, a member area for people who have paid, and the admin back office that runs all three. Ten admin views with working editors, because "we will handle the admin side" is exactly the promise a deck cannot make credible.
It is deliberately hollow underneath. No backend, no accounts, no real checkout — the data is mocked and the cart lives in the browser. Every hour spent on infrastructure at this stage is an hour spent before anyone has agreed what is being built, and the point was to settle the experience while it was still cheap to change.
Who uses it
Shopper
Browses candles, sessions and the library, and builds a cart that survives a page reload.
Member
A separate signed-in area for people who have booked — their courses, their sessions, their orders.
Owner
The back office: orders, products, sessions, library content and members, each with its own editor.
Features
What was built
Everything listed is in the repository — not a roadmap.
- 01
Three audiences, one prototype
Public storefront, member area and admin back office all built out — so the walkthrough covers the whole business rather than just the part a customer sees.
- 02
A back office that actually opens
Ten admin views with working create and edit screens for products, sessions, library content and members — not a screenshot of a dashboard.
- 03
Cart that survives a reload
Line items, quantities and an AUD total held in a store that persists to the browser, so a demo can be interrupted and picked back up.
- 04
Two businesses, one audience
Candles and breathwork sessions modelled side by side rather than as separate sites, which was the actual question the brief posed.
- 05
Brand system, not a colour scheme
The identity — lotus mark, six-colour palette, surface tints — expressed as design tokens mirrored into utilities, so the look is consistent by construction rather than by discipline.
- 06
Deployable as static files
Hash routing and a pure client build, so the prototype can be put on static hosting and sent as a link rather than scheduled as a screen-share.
- 07
A course library that plays
Courses hold modules, modules hold lessons, and a lesson is video, PDF or reading with its own duration. The player resumes at the first thing not finished and marking one complete moves the count — the learning side is a working surface, not a catalogue page.
- 08
Orders through to fulfilment
An order carries a customer, an item, an AUD total and a status that moves Paid to Packing to Shipped to Delivered, with Refunded off to one side. The back office filters on it and advances it, so the shop is modelled past the checkout rather than stopping at it.
- 09
Sessions as bookable things
Breathwork sessions are scheduled items with spots against them, bookable from the front and editable from the back — the same object seen from both ends rather than a calendar image.
- 10
Member records on both sides
A member has a detail view in the back office and a dashboard of their own, so what the studio sees and what the person sees are two views of one record.
Beyond the prototype
What a real build adds
Deliberately out of scope for the prototype
The prototype answers what the experience should be. Everything below is what it would take to make it real, and all of it was consciously left out — a pitch that spends a fortnight on authentication has spent it before anyone agreed to the work.
Accounts and sessions
Real sign-in for members and staff, with the admin surface behind an actual permission check rather than an unguarded route.
Checkout and payments
A payment provider, order records that outlive the browser, and receipts — the point where a cart becomes revenue.
Real bookings
Session capacity, waitlists and cancellations, which are the parts of a class business that actually generate admin work.
Stock that counts down
Inventory tied to orders, so a handmade run of forty candles cannot sell fifty.
Designed to run on: Nuxt, Node.js, Fastify, Supabase, Fly.io, Redis.
Interface
The parts worth looking at
The storefront
The shop as a customer meets it — candles priced, described and addable to a cart, which is where the brand does most of its work.

Sessions to book
The breathwork side listed and filterable, each session carrying what it is and when it runs before anyone commits to it.

The member area
What someone sees once they have booked: the session itself, what to expect, what to bring, and the way in when it starts.

Admin back office
Revenue, upcoming events and recent orders on one overview — the half of the pitch a deck cannot show.

Members, and what they are worth
Every member with their bookings, orders and lifetime spend in one table, so the studio side is a record rather than a mailing list.

Stack
What it was built with
Dependencies actually in use, not everything in package.json.
Framework
- Vue 3
- TypeScript (strict)
- Vite
- Vue Router
State
- Pinia
- Persisted state
Interface
- Tailwind CSS v4
- Reka UI
- Design tokens
- Lucide
Hosting
- Static hosting
Software Is Never Really “Done.” Neither Are We.
Let’s talk about how your business runs today, what a tailor-fit system could look like, and what it means to have a technology partner who doesn’t disappear after launch. Just need to hire a developer or a BI analyst? That conversation is just as welcome — and stands entirely on its own.
Two routes, one form. Say which one fits and we will reply to arrange a short discovery call — no pitch deck, no obligation.



