Skip to content

One hub for a clinic’s bookings, payments and client records.

A Brisbane clinical nutrition practice with three practitioners was losing 28 hours a week to admin. We built one hub that runs its programs from the first booking to the last payment, and keeps client details out of the AI.

LeadsFormsLab resultsStripeXeroPortalAutomationAI notes, reviewedHUB
  • 28 hoursof admin a week, across 14 tasks, before the build
  • 4 weeksfrom first commit to live clients and payments
  • 2 × $1,500missed deposits found on the payment check’s first run
  • 905automated tests

Before the build.

The practice owner timed a normal week: 28 hours of manual work across 14 tasks, 7 of those hours on money. Sessions went unbilled. Payments arrived through four channels and were matched by hand. Instalment plans were run by hand.

Client records sat in the old practice software, Notion boards and email. There was no single place to see who had paid, who was booked and whose forms were in.

What we built.

  1. One press to start a client

    “Kick off” builds the client’s session schedule, payment plan, first booking, first invoice and portal login.

  2. Payments that reconcile themselves

    Stripe invoices and payment plans, Xero and Wise payments, and bank CSV matching. An hourly check catches any paid invoice the hub missed.

  3. Forms and documents

    17 forms, with reminders and chasing handled by the hub. Emailed lab results are routed to the right client.

  4. Drafted notes and summaries

    Claude turns a session transcript into notes and keeps a running summary for each client. A practitioner reviews and approves every draft.

  5. Leads from the website

    Quiz, contact form and call bookings come in from the marketing system, and client tags go back.

  6. Moved across cleanly

    About 293 clients, 20 program enrolments and 154 clinical notes came across from the old software, each matched on client number and name.

What changed.

  • Live in about four weeks. Real clients, real email and live Stripe payments from mid-October 2026.
  • Two $1,500 deposits found on the hourly payment check’s first run. Both had been paid and missed.
  • Client details stay out of the AI. Names are swapped for a code before anything goes to the model, and a test checks that no agent ever sends one. The AI adds no diagnosis or advice.
  • Hosted in Sydney. The hub and its database run in Australian data centres, with nightly encrypted backups and two-step sign-in.

Where it stands.

The practice is named here only by its type, because the hub holds health information. It runs about 21,000 lines of code, 37 workflows and 12 scheduled jobs.

Node.js and ExpressPostgreSQL (Sydney)StripeXeroPostmark emailAnthropic ClaudeFly.io (Sydney)