
Photo Booth Kiosk System
Built the booth session flow for QRIS payment, template selection, camera capture, GIF output, printing, and QR-based customer downloads.
Tech Stack
Photo Booth Kiosk System
This project was a commissioned kiosk system for a Photobox client in Gorontalo. The kiosk needed to run on the physical photo booth machine and support the real customer flow: QRIS payment, template selection, camera capture, GIF generation, print output, and QR-based digital download.
Challenge
Photo booth sessions need to feel simple for customers, but the system behind the booth has several moving parts. The kiosk has to coordinate payment state, selected template, camera capture, GIF capture, print quantity, and digital download without making staff manually stitch those steps together.
Solution
I built the workflow around the actual booth session. The Flutter kiosk client runs on the physical machine and talks to a Python backend for camera control, color matching, template rendering, and QR generation. A Bun/Elysia API with Drizzle ORM stores sessions, uploads, captures, payments, print jobs, and download links so the kiosk can keep the flow consistent from payment to output.
Impact
The kiosk gave the Photobox team a complete booth flow: start a session, collect QRIS payment when enabled, let the customer choose a template, capture photos and GIF output, print the result, and provide a QR download link for the digital files. It turned the booth from separate manual steps into one guided kiosk experience.