
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 kiosk turned a photo booth's separate manual steps into one guided flow, from payment to printed photo. I built it for a Photobox client in Gorontalo, running on the physical booth machine. It covers the full customer journey: 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 several moving parts sit behind that simplicity. The kiosk coordinates payment state, template choice, camera capture, GIF output, print quantity, and digital download, so staff never stitch those steps together manually.
Solution
I built the workflow around the actual booth session. The Flutter kiosk client runs on the physical machine, talking 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. That keeps the flow consistent from payment to output.
Impact
The kiosk gives the Photobox team one complete booth flow instead of several separate steps. It starts a session, collects QRIS payment when enabled, lets the customer pick a template, captures photos and GIF output, prints the result, and hands over a QR download link. What used to run as scattered manual steps now runs as one guided session, start to finish.