A bot that cuts issuing an access card from 6 minutes to 1:40
Automating repetitive work in an access control system, with a preview of every change before it is saved.
- 1:40 minper card instead of 6 min (version 1.2)
- −72%time per card
- 955cards in the request sheet in 10 weeks

The bot panel running on sample data.
Challenge
Every employee card takes several steps in the access control system and at the card printer, typed in by hand from a request sheet. Between 31.08 and 5.11.2026 the sheet received 486 requests for 955 cards, and a single bulk request can cover 100 cards.
My role
Idea, code, control panel and testing. A project I run on my own initiative, agreed with my manager.
What I did
- A Python bot takes over the repetitive steps in the access control system and drives the card printer.
- The panel has four tabs: card printing, deactivation, access groups and diagnostics.
- Before every save and print the panel shows a plan of changes to review. Granting access has a separate dry-run preview.
- Handles bulk requests and serial cards without a photo.
Safety
Every change needs my confirmation after the preview. The panel backs up data, checks that the system and printer are ready, and copies error reports without personal data.
Result
- Time per card went down from 6 minutes to 1 min 40 s in version 1.2.
- With 955 cards over 10 weeks that is about 69 fewer hours of work (955 × 4 min 20 s).
Tools
Python, pywinauto, Windows UI automation, Google Sheets