
// WHY IT EXISTS
A student working casual retail lives across four systems that don't talk: a roster app, a payslip portal, a university LMS, and a calendar. None of them knows the others exist — so a shift gets booked over a seminar, an assignment moves and nobody notices, and the only way to know what a week actually paid is to wait for the payslip.
Tempo is the join. One database, one calendar, one set of numbers.

The dashboard — money, workload and today, with a booking clash caught automatically

// THE MONEY ENGINE
Every amount is integer cents end to end — no floating point anywhere in the money path, one rounding step, at the end. Pay is costed against effective-dated rule sets, so a shift worked in June is priced at June's rate even after July's rise; a “recalculate” pass re-prices history when you backfill old rates, and skips anything you typed in by hand.
Withholding follows the same method an employer uses: annualise the pay period, tax the annual figure against the 2024-25 resident brackets plus the Medicare levy phase-in, then take one period's share back out. That shape is why a heavy week is withheld harder than a quiet one — and why the app shows its working rather than asserting a number.
// FROM ROSTER TO BANK BALANCE
01
One date, two times
Start, end, meal break.
one screen
02
Against the award
Penalties, loadings and effective-dated rates.
integer cents
03
PAYG, the employer's way
Annualise → tax → de-annualise.
AU brackets
04
Four, at alarm volume
Start, end, and both ends of the break.
exact alarms

// STUDY
Tempo speaks to Deakin's OnTrack (Doubtfire) directly — pulling every task for the units you're actually enrolled in this trimester, filtered by teaching period so a decade of finished units stays out.
Sync is one-directional and opinionated: it creates what's new, updates due dates that moved, and closes what OnTrack marks complete. It never reopens something you've ticked off, and never writes back. Each task wears OnTrack's own status — submitted, fix and resubmit, submitted late — in OnTrack's own colour language.
Connecting is a one-time act. Doubtfire access tokens expire in two hours, so Tempo holds a refresh token instead and renews itself in the background, capturing each rotation so the connection never lapses.
// CAPABILITIES
Saturday, Sunday, evening, overnight and overnight-Saturday penalties, casual loading and super — effective-dated, so rates can change.
Per-employer pay cycle and tax-free threshold, withholding derived per period and shown with its working.
Start, end and both ends of the meal break, on a dedicated channel using the system alarm tone at alarm volume.
Automatic on open, manual on demand, with statuses and units carried through.
Catches a shift booked over a class before it happens.
AES-256-GCM with PBKDF2, exported to a file you hold. Biometric app lock.
// UNDER THE HOOD
App
State & routing
Data
Money
Platform
Quality
324
tests, green on every release
18
schema migrations, zero data loss
26
releases, shipped from daily use
0
servers, accounts or trackers
15,700 lines of hand-written Dart across 145 files, 324 tests, 18 schema migrations applied in place without losing a row, and 26 releases cut from real daily use — every bug on this page was found by living with the app, not by testing it.