Build and run a business OS with your agent.

Production Modules for booking, payments, staff pay and POS, plus the CLI, MCP server and hosting your agent needs to deploy and operate them.

Works with any coding agent that speaks MCP.

lotus-spa — claude
✻ Welcome to Claude Code!
cwd: ~/code/lotus-spa
mcp: stardeck · connected
>
? for shortcuts

You can vibecode a demo in an hour. A business breaks on the edge cases.

Double bookings, partial refunds, duplicate webhooks, commission on a cancelled sale. Each one takes a week to find in production.

Day 1Your agent ships by dinner
Book a treatment
Lotus Spa · Saturday
Thai massage · 90m
Signature facial
Aromatherapy · 60m
13:00
14:30
15:00
16:30
Confirm booking with Nok
Works on localhost
Week 3What the business finds out
  1. Error log
    Double bookingMon 15:02
    Nok has two clients at 15:00
    Nok · 15:00–16:30Mali · Thai massage
    Nok · 15:00–16:00Som · Facial · overlaps
    from: Booking form
    MaliCustomerLINE · Mon 15:21

    I've been waiting 20 minutes and the front desk says my booking doesn't exist??

  2. Error log
    Commission paid on a refundTue 11:40
    ฿450 paid out on a refunded ฿1,500 facial
    Commission paid · Ploy+฿450
    Refund · Signature facial−฿1,500
    Commission reversalmissing
    from: Checkout
    PloyTherapistStaff chat · Tue 12:05

    Why did my payout go down? I did that facial, the client just changed her mind.

  3. Error log
    Former staff signed inWed 09:12
    Account still active 5 days after leaving
    fon@lotusspa.coleft 5 days ago
    signed in09:12
    opened /clients412 records
    from: Staff logins
    Khun DaoOwnerLINE · Wed 09:30

    Why can Fon still see our client list? She left on Friday.

  4. Error log
    Customer charged twiceThu 20:31
    payment.succeeded delivered twice, two orders created
    VISA •• 4242 · ฿2,40020:31:07
    VISA •• 4242 · ฿2,400duplicate
    from: Works on localhost
    TonCustomerGoogle review · Thu 21:02

    Charged twice for one massage and nobody answers the phone after 8pm.

  5. Error log
    Payouts off by ฿3,240Fri 18:00
    Month-end commission doesn't match the bank
    App says
    ฿48,600
    Bank says
    ฿45,360
    Difference
    −฿3,240
    from: Daily sales report
    PimAccountantEmail · Fri 18:20

    These numbers don't match the bank statement. I can't close the month like this.

Start from tested Modules

Each Module ships with its schema, screens, routes and workflow tests. Your agent switches on what the business needs and writes only what's specific to it.

13:0014:0015:0016:0017:00
Nok
Ploy
Nok is booked at 15:00. Offered 16:30 instead.

Booking

Overlapping slots, walk-ins, no-shows, therapist swaps, deposits.

payment.succeeded evt_8f2processed
payment.succeeded evt_8f2duplicate, ignored
refund.created ฿500 / ฿1,500partial
terminal.payment counter-1processed

Payments

Card and QR checkout, partial refunds, duplicate webhooks, terminals at the counter.

Ploy · October payoutTime clock 38h
Signature facial · 30%฿450
Signature facial · 30%฿450
Refund reversal−฿450
Total฿450

Staff pay & commissions

Commission rules per service, reversals on refunds, time clock, payout runs.

Table 4Split 3 ways
Guest 1
฿420
paid
Guest 2
฿420
Guest 3
฿420
2 items sent to the kitchen printer

Point of sale

Split bills, discounts, receipt and kitchen printers, end-of-day close.

Mango sticky rice
Only 2 left
−3 2+
Someone ordered while you were checking out. Your cart was updated.
Pickup 12:30Order #1042 · Preparing

Online ordering

Stock running out mid-checkout, pickup times, order status messages.

LLotus Spa · LINE
Your booking with Nok is confirmed for Sat 15:00. Reply 1 to reschedule.
Signed in as Mali · 4 past bookings · card saved

Customer accounts

Sign-in, booking history, saved cards, LINE and email notifications.

Test it like production. If it passes, it works in prod.

Every app gets its own database branch and a test harness that runs your real routes against it. No mocks, so a green run means the release works.

  1. Branch
    feat/walk-ins
    + database branch
  2. Workflow tests
    42 passed
    real Postgres · no mocks
  3. Schema check
    +1 column
    0 dropped
  4. Preview
    walk-ins.preview
    its own copy of the data
  5. Production
    lotus-spa.stardeck.site
    uptime checks on
01

Same stack as prod

Postgres, auth, payments and email behave the same in tests and previews as in production.

02

Workflow tests

Agents test whole flows, from booking to checkout to payout, not functions in isolation.

03

Checked schema changes

Migrations are checked before they reach production. Nothing gets dropped by accident.

04

A preview per branch

Click through a change on its own copy of the data before it ships.

For agencies and freelancers

Ship it like you vibecoded it. Get an app that’s actually production-ready.

Features are Modules, not code woven through the app. When a client adds online ordering or drops memberships in week six, your agent switches a Module instead of rewriting the system.

Week 6The client changes their mind
Can we take online orders for the retail shelf too?
And let’s drop memberships. Nobody signed up.
Lotus Spa owner · 10:14
10:20Your agent
> add online ordering, drop memberships
⏺ Switched on Online ordering
⏺ Switched off Memberships
⏺ Bash(npm test)
⎿ ✓ 44 passed
⏺ stardeck - deploy_app (MCP)
⎿ ✓ Deployed in 46s
10:21Live, nothing else touched
Booking
Services
Staff pay & commissions
Memberships
Online ordering
01

Days, not months

Start from your own Blueprint and tested Modules. Your agent writes only what's specific to this client.

02

Scope changes are cheap

Add point of sale or drop memberships mid-project. Modules switch on and off without touching the rest.

03

Customize without forking

Restyle or extend a Module's screens. Platform fixes still reach your client's app.

04

We run it after handover

Hosting, monitoring and updates stay with us, not on your retainer.

Build with your agent. Run on Stardeck.

One command creates the app, connects the Stardeck MCP server to your agent and pulls your environment.

  1. 01
    npx @stardeckai/cli new

    Creates the app from the Blueprint and clones it

  2. 02
    stardeck setup

    Connects the MCP server to your agent

  3. 03
    > build me a…

    Your agent builds, tests and deploys