A roster in a spreadsheet. Notes on paper. Timesheets by text. Every claim typed twice.
One record per shift — rostered, checked in, written up, billed and paid. Console on the desk, app in the pocket.
Move your cursor — they’re watching. Give one a click.
A roster in a spreadsheet. Notes on paper. Timesheets by text. Every claim typed twice.
One shift record. Every role sees the correct slice of it, and nothing is entered twice.
Each step writes to the same shift. Nothing gets re-keyed, and nothing gets reconstructed on Friday afternoon.
Not a roadmap — this is live in the admin console and the mobile app right now.
Auto-roster scores every worker on availability, weekly hours, travel and key-worker fit — then shows its working.
Workers clock on at the participant’s address. Out-of-bounds is flagged, travel is captured for billing.
Invoices built from completed shift events, priced off the NDIS guide, pushed to Xero over OAuth.
Progress notes and incidents written against the shift they belong to, signed on the worker’s device.
Publish, workers claim, you approve.
Late, missed and running — live.
Plans, goals, risks, agreements.
Rates, availability, expiring checks.
Pay periods from real worked time.
One-click connect, two-way sync.
Roster it by saying it out loud.
Utilisation, CSV export, full trail.
Support workers and participants share one binary — the app routes to the right tabs from the signed-in role.
Next.js 15, desktop-first. Rostering, billing, payroll, alerts and audit — with rebindable keyboard shortcuts.
Schedule, check-in, notes, timesheet, availability.
Day ahead, plan budget, notes, messages.
Hiding a button is not access control. Role lives in the auth token and every query is filtered before it returns.
| ROLE | Roster board | All participants | Their own shifts | Billing & payroll | Plan budget | Across orgs |
|---|---|---|---|---|---|---|
Admin their organisation | ||||||
Support worker their own work | ||||||
Participant their own supports | ||||||
Platform admin tenants, not records |
Every table carries an organisation_id behind an RLS policy. One provider cannot read another’s rows.
Record changes land in an immutable log with actor, timestamp and diff — exportable when an auditor asks.
Light and dark, large-text and high-contrast modes, keyboard navigation throughout, mobile held to the same bar.
Xero two-way sync · Stripe subscriptions · Supabase Postgres with RLS · Maps & geofencing · SMTP invites and reminders · native push
Sign in to your organisation’s console, or ask your platform administrator for an invite.