Driver Onboarding Journey

Client Demo Mode

Returning user: sign in with your face — if the server recognizes you, we skip registration and licence and go straight to calibration. New user: if you are not recognized (or you skip sign-in), we open registration → licence → rest of the flow. Use http:// for the API. Serve over HTTP (not file://) for camera access.

5-step guided journey Live camera + status Login + DL + stream checks

Start fresh with the same face

Removes your driver record from MongoDB so login will not recognize you and you can run registration + licence again. Endpoint: POST /api/demo/reset-driver (disable in production with DEMO_RESET_ENABLED=0).

Starting…

Step 1 · Login POST /api/login/

We try to match your face to an existing account. If you are recognized, we skip registration and the licence step (you already have a profile). To force new user + licence capture, use Skip — new registration below, or open this page in a private window.

No login response yet.

Step 2 · Register POST /api/login/register

New driver: your name must match what will appear on the licence. Use the live preview above — look at the camera until you see your face, then register (the server needs a clear face photo on this step, not the licence card).

Step 3 · Driving licence WS /api/login/ws/dl-verify

Point the webcam at your physical licence card (not a face selfie). The server runs detection + OCR, then matches name/age.

Tips (latency & flicker): Fill most of the frame, hold the card flat and very still, avoid glare and motion blur. YOLO runs every frame; OCR may use Azure Document Intelligence or local engines — allow a few seconds per attempt; status may show “processing” until a stable read.

Camera — show the card here
Server preview

Server response

Waiting for licence WebSocket…

Step 4 · Calibration GET /api/recalibrate

Runs automatically after licence check. You can retry if something failed.

Step 5 · Live monitoring WS /api/stream

Optional: enter your driver_id so the stream includes registered name and licence validity / expired from the database. Leave blank to rely on face recognition only (HUD may show "Unknown" until a match).

Start the stream to see driver + licence status.
Technical log