// case study

MaxPilot

NDIS care management SaaS for Australian providers — rostering, shift scheduling, billing and accounting integrations, with companion iOS and Android apps for care workers. Designed and built end to end.

Node.jsExpressBullMQshadcn/uiStripeXeroReact Native
The admin portal's week schedule — the screen providers live in all day
The admin portal's week schedule — the screen providers live in all day

// the problem

Care runs on rosters

Australian NDIS providers coordinate care workers, participants and funding rules across every single shift. Most small providers juggle that in spreadsheets: double-booked staff, unbilled hours and paperwork that piles up at audit time.

MaxPilot puts the whole loop in one place — plan the roster, run the shift on a phone, and turn delivered care into invoices and accounting entries without retyping anything.

Scope of the build

  • 01Multi-tenant web admin portal for providers — scheduling, worklogs, facilities, invoicing, messaging.
  • 02iOS and Android apps for care workers — schedules, job board, clock in/out, documents, incident reporting.
  • 03Billing pipeline — shifts to invoices to Stripe payments to Xero, processed by background jobs.

// what it does

One loop, six jobs

01

Rostering & scheduling

Week and day calendar views across staff and participants, with recurring shifts, a job board for unassigned work, and publish/unpublish control.

02

Shift lifecycle

Create a shift with tasks, instructions and mileage, assign a care worker, and track it from draft through completion.

03

Mobile clock in/out

Care workers clock in and out on the iOS and Android apps with map locations, signatures, timesheets and unavailability.

04

Incidents & documents

Incident reporting, participant documents and forms, kept with the shift record for compliance.

05

Billing & invoicing

Invoices generated from delivered shifts, with card payments handled through Stripe.

06

Accounting sync

Invoices and payments flow into Xero, with the heavy lifting done by BullMQ background jobs so the UI stays fast.

// under the hood

How it's put together

Clients

  • Web admin — React + shadcn/ui
  • iOS & Android — React Native

API

  • Node.js + Express REST API

Jobs

  • BullMQ queues — invoicing, sync, notifications

Integrations

  • Stripe — payments
  • Xero — accounting

Slow work — invoice generation, Xero sync, notifications — runs in BullMQ queues, so scheduling stays instant even on billing day.

// the admin portal

On the desk

Day view across the roster
Day view across the roster
Shift creation
Shift creation
Admin portal login
Admin portal login

// in the field

In a care worker's pocket

The same shifts, on the phone that goes to the participant's home — React Native, shipped to both stores.

iOS — shift schedule
iOS — shift schedule
iOS — job board
iOS — job board
Android — clock in with map
Android — clock in with map
Android — timesheets
Android — timesheets
Live on the App Store — id 6759849475

Have a product like this in mind?

I design and build SaaS end to end — web, mobile, billing and the boring integrations that make it real.