← Back to work

full-stack

Velvet Platform

White-label venue management SaaS for adult hospitality businesses

Adult hospitality venues had no purpose-built management platform. Booking, rostering, and staff communication were handled via generic tools not designed for the industry.

Astro 6 SSR + Supabase + Stripe + Cloudflare Workers. Practitioner roster with real-time availability, booking system, Telegram staff bot for shift management, and a white-label frontend deployable per venue.

How It Works

One system for adult venues that still run on paper, SMS, and a website from 2010.

Licensed adult venues in Australia run on a technology stack that hasn't moved in a decade: paper diaries, group texts between managers and staff, and brochure websites from around 2010. The result is double-bookings, no live availability for clients, no read on the numbers, and no safe way to manage a roster or flag a problem client. Mainstream booking platforms won't service the industry, so nothing off the shelf fits how it actually works. Velvet replaces the whole stack, and it's sold to venues as a product under Projekt AI.

Each venue gets one platform in three parts: a live public website — dark and mobile-first — that shows who's working right now and lets clients book directly; a Telegram bot that runs the front desk; and a serverless backend that keeps the site, the bot, and the database in sync in real time.

The front desk runs entirely through Telegram. A single bot exposes 28 commands that cover the whole venue — staff clock in and out, set their availability, take walk-ins and quick bookings, confirm and cancel, record deposits, pull revenue and stats, block and unblock clients, and post listings and reviews. There is no POS hardware, no app to install, and no training required.

The platform is built to be repeatable. One codebase runs every venue, so onboarding a new client means a new content set, a new database, and a few feature flags rather than a separate fork — which keeps the cost of each additional venue low.

It also handles the compliance the industry requires. Public pages carry no explicit language, to stay within the NSW Summary Offences Act; billing descriptors are discreet; client emails and phone numbers are hashed; display names are pseudonymous; data retention is kept low; and practitioners are treated as independent contractors throughout.

All three sites are live — the Velvet marketing site and two demo venues, Maison Élyse and Sakura Wellness, running on the same codebase — and the bot is deployed and processing live updates against the production database. The platform is pre-revenue: the venue sites are sales demonstrations rather than paying tenants, and the next step is signing the first venues. Payments are moving from online card processing to a record-only model, where the venue takes the deposit its own way and the manager records it.

The Velvet marketing site, the product I sell to venue owners.

The Velvet marketing site, the product I sell to venue owners.

A venue's live public site, showing who's available right now.

A venue's live public site, showing who's available right now.

The real-time roster: who's free, who's busy, when a shift ends.

The real-time roster: who's free, who's busy, when a shift ends.

Online booking, through to the deposit that holds the slot.

Online booking, through to the deposit that holds the slot.

A practitioner's own profile: photos, services, and prices.

A practitioner's own profile: photos, services, and prices.

The front desk running out of Telegram, 28 commands deep.

The front desk running out of Telegram, 28 commands deep.

A second venue on the same codebase, different brand and content.

A second venue on the same codebase, different brand and content.

The Results

Real-time Booking system
Telegram Staff bot
Per venue White-label
Cloudflare Deployment

Tech Stack

AstroTypeScriptSupabaseStripeCloudflare WorkersTelegram Bot API

Need something similar?

Let's talk about your project.

Get in touch