Feature: QR Transfer-of-responsibility
The sender provides a QR and the driver "signs" by scanning it. This initiates a database transaction to transfer responsibility of the selected items and updates the sender's UI on success. At the destination, the receiver presents another QR, and the driver scans to complete the handoff
Feature: Expiring QRs
QRs have a 1-minute lifetime and refresh close to expiration. Scanning a QR invalidates it for all other users
Feature: Queued jobs
Asynchonously downloads AI-generated images from a slow 3rd party API and updates the UI on completion
Feature: Scheduled reset
Database and images reset automatically at 2am daily