A-03Demonstration

The client portal, on an invented project.

Where the build, the invoices and the change requests live. This is the client side of the gate. We work the same application from the other side.

ReactSupabaseRole-gated routesSynthetic fixture

Demonstration data

Seeded fixture. Not a real client, not a real project, and not a real invoice.

Fluxaro Sample Client Client view
ProjectChange requestsInvoices TicketsMessagesFiles
Phase3 of 5Build, in progress
Routes built9 / 14+3 this week
Open requests2Both quoted, awaiting your yes
Outstanding1Invoice 2026‑114, due 12 Oct

Where the build is

Scope signed 7 Sep

Scope and data model14 routes, 3 integrations, agreed in writingDone 7 Sep
Security postureAuth, tenant isolation, headers, third-party codeDone 11 Sep
Build9 of 14 routes on the staging hostIn progress
VerificationReal browsers and real devices, contrast and reflow measuredNot started
LaunchDomain connected and launch notesNot started

Change requests

4 raised

RequestState
Add a second enquiry form to service pages
Quoted 2 Oct, 4 hours
Awaiting you
Swap the booking provider
Quoted 30 Sep, 11 hours
Awaiting you
Third language on five routes
Approved 24 Sep, in the build
In build
Replace stock photography
Approved 15 Sep
Shipped

Invoices

Issued through Stripe

InvoiceAmountState
2026-114
Build, second instalment
4,200.00Due 12 Oct
2026-098
Build, first instalment
4,200.00Paid
2026-091
Scope and data model
1,850.00Paid

Messages

Threaded, with the studio

Fluxaro · 3 Oct, 09:14

Nine routes are on staging. The booking swap is quoted at eleven hours because the new provider has no server-side availability call, so the slot check has to move into our own function.

Sample Client · 3 Oct, 11:02

Understood. Hold the booking swap until after launch, go ahead with the second enquiry form.

Fluxaro · 3 Oct, 11:20

Noted. The form is in the current sprint and the swap moves to the post-launch list, still at the quoted eleven hours.

Captured, not drawn. An authenticated client cannot reach an admin route by typing it: both sides are guarded at the route, not hidden in the navigation. Nothing here is a mock-up of a screen we have not built.

How it is built Request a free quote