No cloud accounts, no database provisioning, no build pipeline. Unite CBT runs on hardware you already own.
A teacher's desk PC, a lab laptop, an old corner desktop, or a Raspberry Pi. That machine becomes the host for every candidate on the network.
Unzip the package and start the built-in HTTP server from that folder.
python -m http.server 8080Candidates open the server address in any modern browser. Fullscreen enforcement engages the moment the exam starts.
http://[SERVER_IP]:8080The platform is a self-contained folder. Deleting it removes the whole install.
What happens from the moment a candidate opens the link to the moment their paper is scored.
| # | Stage | What happens | Status |
|---|---|---|---|
| 1 | Start exam | Candidate enters fullscreen and the question set loads | Locked |
| 2 | Timer begins | Countdown starts; final 5 minutes pulse red | Running |
| 3 | Navigate | Palette click or Save & Next advances the paper | Active |
| 4 | Select answers | Clicking an option persists it and turns the tile green | Saved |
| 5 | Optional review | Mark for review (purple) or clear response (red) | Flagged |
| 6 | Submit | Warning lists unanswered questions before confirmation | Confirm |
| 7 | Scored | Responses post to /submit_exam and the candidate is redirected | Complete |
Every candidate device on the subnet talks to the single host machine. There is no internet dependency and no database cluster to maintain.
~150 MB RAM · 2–5% CPU · <100ms
~250 MB RAM · 5–10% CPU · <150ms
~400 MB RAM · 10–15% CPU · <200ms
~700 MB RAM · 15–25% CPU · <300ms