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.
Demonstration data
Seeded fixture. Not a real client, not a real project, and not a real invoice.
Where the build is
Scope signed 7 Sep
Change requests
4 raised
| Request | State |
|---|---|
| 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
| Invoice | Amount | State |
|---|---|---|
| 2026-114 Build, second instalment | 4,200.00 | Due 12 Oct |
| 2026-098 Build, first instalment | 4,200.00 | Paid |
| 2026-091 Scope and data model | 1,850.00 | Paid |
Messages
Threaded, with the studio
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.
Understood. Hold the booking swap until after launch, go ahead with the second enquiry form.
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.