Results
0buttons, logins or apps needed to scan
13fixes from an adversarial review
3unattended test scans before it went live
The problem
The printer had a network-scanning interface, but a computer had to request each scan. Staff needed a way to load paper and get a file on the share without logging in or installing an app.
What I did
- A Python service that watches the printer's eSCL status and scans every page when the feeder goes from empty to loaded.
- Write PDFs under a temporary name, then rename the completed file into place on the share.
- A local holding folder for scans made while the share is down, delivered automatically once it's back.
- A sandboxed systemd service with restart limits and a watchdog heartbeat that continues through long scans. A health check on another machine alerts if it stops.
What I took from it
Scans reached the share after the first day. I spent the next day testing share outages, a hang during scanning and a failed install before leaving it for staff to use.