Track record

Twelve ways to ask the same question.

Academy Care is a learning platform for NDIS providers. A registered nurse's clinical knowledge became twenty-six training modules, and every knowledge check in them can be answered as a plain list or played as a game. The people doing this training are support workers finishing a shift, not office workers at a desk with a coffee.

Angular 20TypeScriptFastAPIPostgreSQL SQLAlchemyAlembicAzure Key VaultStripeNginx
Role
Sole developer
Status
In production
Modules built
26
Question types
12
The Academy Care course library: a list of courses including Stoma Care Basics, Catheter Care Fundamentals, Wound Care Fundamentals and Diabetes Management for Support Workers, each with a category tag and Preview and Assign buttons.
The library as an administrator sees it, with a Preview and an Assign button on every row. The count moves as courses are added; the twenty-six built from the nurse's material are the core of it. High intensity supports, compliance, and the clinical ones a provider has to be able to prove.

It started as one nurse's knowledge

A registered nurse knows what actually goes wrong in someone's home at six in the morning. That knowledge existed as documents, briefings and years of experience, which is not the same thing as a course. The work was translating it: sequencing it into lessons, deciding what has to be understood before the next thing makes sense, and writing a check at the end that proves something was learned rather than clicked through.

A lesson inside the Incident Reporting module. The left rail lists Lesson 2.2 Serious Injury through to Lesson 3.6 Learning and Continuous Improvement, with a Take Quiz step between sections. The lesson body explains how to formally record an incident.
Incident reporting, broken into six numbered steps with a knowledge check between sections. The padlocks in the rail are the gating: a section opens when the one before it has been passed, so nobody arrives at investigation without having read what counts as an incident.
A lesson in the Diabetes Management for Support Workers module, explaining the plate method for meal planning, illustrated with a diagram dividing a plate into non-starchy vegetables, lean protein and carbohydrates.
The other half of the job. A support worker does not need the pathophysiology of diabetes, they need to know what a plate should look like. Content written to be used at the point of the task, with the diagram doing the work the paragraph would otherwise have to.

Four ways to answer, and eight more

Gamified compliance training is an easy thing to be cynical about, and the cynicism is usually earned. So the games here are not the only route through. Every question exists in two renderings, and the person answering picks which one they get.

Answered as a list

The formats anyone who has done online training will recognise. Nothing moves, nothing is timed, and a screen reader can get through all of it.

  • Multiple choice multiple_choice
  • True or false true_false
  • Select all that apply multiple_select
  • Fill in the blank fill_blank

Answered as a game

Eight mechanics, each suited to a different shape of question. Ordering becomes a launch sequence, categorising becomes sorting, and matching becomes drawing a line between two things. Seven of them are shown further down this page.

  • Keypad escape room keypad
  • Balloons sorting
  • Neural Link matching
  • Compliance fruit ninja ninja
  • Forest path forest
  • Potion maker potion_maker
  • Starship launch starship
  • Wheel of knowledge wheel_of_knowledge

The choice is made at first login and can be changed in settings at any time. On a phone the platform defaults to the list version and asks for confirmation before it hands anyone a game, because a fruit ninja on a six inch screen is a worse experience than a list and pretending otherwise helps nobody. Someone who picks the list is also kept off the leaderboards by default, so opting out of the fun is not a public act.

Two shapes of question, two mechanics

One of these is from incident reporting, where the answer is a set of details that either belong on a statutory form or do not. The other is from infection control, where every step is obviously correct and the entire risk sits in the order they happen. Those are not the same question wearing different clothes, so they are not asked the same way.

The keypad escape room: a question about what information a form to the NDIS Commission requires, with a vault marked LOCKED beside a numeric keypad showing a partly entered access code.
Select all that apply, as a vault. Each correct detail contributes a digit to the access code, so the consequence of a wrong selection arrives while the reader is still thinking about it rather than on a results page afterwards.
The starship launch game: a pre-flight checklist of five hand hygiene and gloving steps to be dragged into the correct order, beside a rocket on a launch pad.
Ordering, as a launch sequence. Hand hygiene before catheter care. Note that cleaning your hands appears twice in the list, once before the gloves go on and once after they come off, which is exactly the step people drop when they are running late. A sequence that will not launch until it is right makes that harder to skip than a numbered list does.

Neither of these is a separate exam. Each is a rendering of an ordinary question record, and the attempt written afterwards holds the score, the time and the answer without noting how it was presented, because that is not something a regulator should have to care about.

Built so the mechanic fits the question

The temptation with this sort of thing is one game engine with the questions poured into it. That produces a quiz with a hat on. Each of these was built for a shape of question that suits it, which is why there are eight rather than one.

The forest path game: a wooden sign in a forest reads that an incident only includes events that have already caused serious harm, with TRUE and FALSE signposts pointing left and right.
The compliance fruit ninja game: fruit labelled with actions such as Following policy fly across the screen, with score, goal, combo, lives and a countdown along the top.
The balloons sorting game: labelled balloons such as Submit the detailed 5 Day form drift towards two cloud banks headed Within 24 hours and Within 5 business days, with a fan in the middle and a counter reading 0 of 6 sorted.
The Neural Link matching game: terms such as Near Miss, Reportable Incident and NDIS Code of Conduct on the left, joined by glowing curved lines to their definitions on the right, with three of four linked.
The potion maker game: bottles labelled Objective language, Timely submission, Factual information and Blaming statements sit on shelves either side of a bubbling cauldron, under the question can you brew the Compliant Reporting Concoction.

Forest pathTrue or false, as a fork in a track. The statement is on the sign and the two paths are the answer. Eight of them in a row, and the walk is the quiz.

Compliance fruit ninjaSlash the non-compliant actions and leave the compliant ones alone. Doing nothing is an answer here, which is the part that makes it a real question rather than a reflex test.

BalloonsSorting into categories, where the categories are the reporting deadlines. Every balloon carries an obligation and has to end up under the right cloud. Note the Traditional and Game toggle sitting in the corner of the header.

Neural LinkMatching, drawn as connections rather than a table of dropdowns. Four NDIS terms against four definitions, and the definitions are the real wording, not a paraphrase that would teach the wrong thing.

Potion makerCategorising, where only the right ingredients go in the pot. Objective language and factual information belong in a report. Blaming statements and personal opinions do not.

Four decisions that took the longest to get right

A platform that issues evidence of training has to be right about the boring things, because the boring things are what an auditor reads. These four are the ones worth writing down.

One record

The game is a rendering, not a different exam

Every game type has a plain rendering of the identical question, built alongside it rather than bolted on afterwards. The question, the marking and the pass mark are the same object; only the presentation changes.

The attempt that gets stored holds the score, the time taken, the attempt number and the answer given. It does not hold which mode was used, because a provider proving compliance should never have to explain that one worker played and another read.

Plain words

Game wording gets stripped in the plain view

Authors write question titles in the voice of the game: navigate the forest, brew the concoction, launch the report. Shown above a list of checkboxes, that wording is nonsense at best and confusing at worst, because it refers to mechanics the reader cannot see.

So the plain view substitutes the topic heading the author wrote for the question, or shows no heading at all where the instruction on the block already explains the task. Small, and the difference between an accessible alternative and a token one.

Refresher training

Annual training that books itself

Compliance training expires. Somebody has to notice that a worker's manual handling certificate lapses in three weeks, and in most organisations that somebody is a spreadsheet nobody owns.

Completing a course can create the schedule for its own next round: monthly, quarterly, twice yearly, annually or a custom number of days, aimed at one person, a team or everyone. The administrator gets told a week before it triggers rather than the morning it is already overdue.

One casing

Status values are lowercase everywhere, by rule

Course and assignment statuses are stored as lowercase strings. Comparing one against an uppercase literal is perfectly legal SQL: it raises nothing, logs nothing, and returns an empty set. A whole class of mistake in this codebase would therefore present as a screen with nothing on it rather than as an error anyone could search for.

So the casing is not left to memory. Enum member names are lowercase and equal to their values, raw SQL binds the value rather than typing the string, and ORM filters cast the column before comparing. The rule sits at the top of the project's own instructions, where the next person to touch it reads it before writing a query rather than after. The conventions that protect you are the ones you cannot forget to follow.

Someone has to answer for all this

The games are what a support worker sees. What the provider sees is a different product: who has been assigned what, who is behind, what expires next, and a certificate that stands up when somebody asks to see it.

The organisation dashboard: team members, teams and certificates issued across the top, a training progress ring with completed, in progress and not started counts, a Requires Attention panel listing overdue assignments, and upcoming training down the right.
The organisation view, with mock data in place of a real provider's staff. Overdue work is the first thing on the page rather than a tab, because the number that matters to a provider is the one they are behind on.
The analytics dashboard: completion rate, overdue tasks and due in seven days across the top, an assignment status overview bar, a six month completion trend chart and a completion breakdown doughnut.
Reporting, exportable. Completion by team, trend over six months, and a breakdown that separates not started from in progress, which are very different problems wearing the same colour on most dashboards.
Evidence

A certificate that can be checked

Each certificate is generated as a PDF and carries a unique twelve character verification code, a certificate number and an expiry date. The code is generated with a cryptographic random source rather than a counter, so certificate numbers cannot be guessed by adding one to somebody else's.

Authoring

A course designer, not a content request form

Courses, sections, lessons, media and quizzes are all built inside the platform. A provider with their own policies and their own induction can put them in themselves, in the same shell as everything else, without a developer in the loop.

Integration

A partner API, separate from the front door

A care provider's own CRM can create organisations, add staff, assign courses and pull compliance reporting through a key based API that is deliberately not the same authentication surface a person signs in through. Two doors, two sets of locks, one of which can be revoked without locking anybody out.

Live, and owned by the business that paid for it

It runs at academycare.com.au on infrastructure the business holds the account for: an Angular front end served by Nginx, a Python API under systemd, and PostgreSQL behind both. Production secrets come out of Azure Key Vault rather than sitting in a file on a server, so a person leaving does not mean a key leaving with them. No container platform, no orchestration layer, and nothing in the stack that stops working when somebody forgets to renew a subscription.