Software · User workflow
Laboratory Sign-In Kiosk
An offline Python/Kivy application connecting laboratory visitors, teams, projects, and visit records on a repurposed Ubuntu computer.
Overview
I built an offline Python/Kivy sign-in prototype on a repurposed Ubuntu computer, working with the laboratory engineer to define user, team, project, and visit records. Modular screens, widgets, and CSV-backed database logic supported scanned identification and sign-in/out workflows. Based on personal experience, the workflow took roughly one to two minutes versus five or more for the old Google Form; this was not a timed study. Development moved to Microsoft Access before the prototype was finished, and a deployed, tamper-resistant kiosk remained a requirement. The original desktop source preserves the work for review.
My Contribution
Working with Brandon Warner to define what the lab needed to track, I built the Python/Kivy application and CSV-backed records. I split the application into database, screen, widget, and layout modules and repeatedly tested local flows to find gaps and edge cases.
Engineering Approach
The prototype recognizes a scanned identity, presents the relevant team/project choices, and records sign-in or sign-out with project status. Local CSV files hold the records. Separating database logic, screens, reusable widgets, and Kivy layouts made the growing application easier to organize and maintain. I tested the application locally to find workflow gaps and edge cases.
Results & Current Status
The Python/Kivy application remained an unfinished prototype when development moved to Microsoft Access on a newer Windows computer. From personal experience, the old Google Form could take five minutes or more; sign-in/out through both the Python/Kivy prototype and the Access workflow was estimated at approximately one to two minutes. These are informal estimates, not formally timed results. A deployed tamper-resistant kiosk remained a requirement.
Next Steps
Supporting Files
The download contains the original desktop application source with identifying file metadata removed. Personal database records and visit logs are excluded; running the application initializes empty CSV tables. This is an unfinished offline prototype.