Why CPD needed a better platform
Solicitors and barristers each have their own CPD requirements, and the rules differ between states and territories. The courses that meet them are spread across dozens of providers, each with its own login, its own checkout and its own certificate.
So most lawyers track their CPD points in a spreadsheet, or not at all until the end of the CPD year. On the other side, smaller course providers and independent trainers have good material but no simple way to sell an online CPD course to the right audience.
OnTrack CPD is built to fix both sides at once: a single CPD platform for the people who need the units, and a marketplace for the people who teach them.
One platform, three kinds of user
Lawyers completing CPD
- A short set-up asks for their profession (solicitor or barrister), state or territory, and goals for the year
- Online CPD courses suggested to match their field, not a generic catalogue
- Pay per course, or one Unlimited subscription for the whole year
- Log self-directed and external CPD done elsewhere, so every unit sits in one record
- A CPD record that stays up to date and can be printed for an audit
Course providers
- Apply to publish, and a person reviews every application before anything goes live
- A declined application comes back with a reason and can be fixed and resubmitted
- Build courses, set prices and run sales from their own dashboard
- The revenue share shown to providers comes from the platform settings, so the page can never promise a different rate than the one actually paid
The team running it
- Review queues for new courses and provider applications
- An audit log of every approval, rejection and change of role
- Search insights showing what lawyers look for and cannot find, which is the list of courses to commission next
- An error log with a reference number on every problem a user sees
Payments that hold up
Course purchases and subscriptions go through Stripe Checkout, so card details never touch the platform. Access to a paid course is only granted once Stripe confirms the payment, not when someone lands on a thank-you page.
Learners get GST invoices and can manage their card and subscription from their own settings. Providers can change a price or run a sale without a developer.
Protecting paid course content
A paid CPD course is only worth selling if it cannot be passed around for free. Course videos are being moved onto protected video hosting with links that only work for a learner who has paid, a reference watermark that moves around the screen, and playback that pauses when the learner switches tabs.
We are honest about the limit: no website can stop someone recording their own screen. The goal is to deter copying and to trace a leaked video back to the account it came from.
Security and reliability from day one
- Row-level security in the database, so one firm or provider can never read another’s data
- Automated tests for every write, mapped to the OWASP list of common web attacks
- Rate limits on public forms and on error reports, proven by flooding them in testing
- Every long list paginated, so pages stay fast as the course catalogue grows
- All dates and times shown in Australian time, whatever the server runs on
- A 50-article help centre written alongside the features, so every answer matches what the platform actually does
Where it stands
The platform is in development, starting with the legal profession. Other professions with CPD obligations are planned to follow on the same foundation. A launch list is taking sign-ups ahead of release.
Services Provided
Technology Stack
Frontend
- Astro
- TypeScript
Backend
- PostgreSQL
- Drizzle ORM
- Better Auth
Payments and email
- Stripe
- Resend
Infrastructure
- Docker
- GitHub Actions
- Bunny.net



