Abdullah Ali — Portfolio

Building software that solves real-world problems.

000
Skip to content
MOMEN Photobooth kiosk application running on a tablet

MOMEN Photobooth

A self-service photobooth kiosk that captures, processes, uploads, and prints photos automatically.Desktop Application2026completed
01

MOMEN Photobooth is a local-first kiosk system built for tablet-based photobooths. The application captures photos, transforms them into retro black-and-white prints using Floyd-Steinberg dithering, uploads both original and processed images to Google Drive, generates QR-code receipts, and prints them automatically through an ESC/POS thermal printer. Designed around an edge-computing architecture, the system continues operating reliably without depending on cloud connectivity during the photo session.

Role
Full Stack Developer
Client
MOMEN Photobooth
Duration
2 Months
Team
Solo
Year
2026
Category
Desktop Application
Status
completed

Stack

ReactViteTailwind CSSNode.jsExpressSharpSQLiteGoogle Drive APIESC/POSTCPQRCode
02

What it moved.

100%

Local Processing

Edge computing workflow

3

Photo Modes

Solo, Couple & Group

Auto

Cloud Backup

Google Drive Sync

ESC/POS

Printer

Thermal 80mm

03

The problem.

Commercial photobooth software often depends on cloud connectivity, causing delays and reducing reliability when internet access becomes unstable.

Thermal printers only support black-and-white output, making standard grayscale photos appear flat and low quality.

Operators require an automatic workflow that captures photos, stores them safely, prints receipts, and delivers digital copies without manual intervention.

04

What I built.

Built a fully local kiosk application that handles image capture, processing, and printing directly on the host computer.

Implemented Floyd-Steinberg dithering to produce high-quality retro black-and-white images optimized for thermal printing.

Integrated Google Drive to automatically organize uploaded photos into date-based folders while generating shareable gallery links.

Generated QR-code receipts that allow visitors to instantly access their digital gallery after printing.

05

How it fits together.

A local-first edge computing architecture where image processing and printing happen entirely on the local machine, while cloud services are used only for backup and sharing.

01

Tablet Interface

Touch-friendly kiosk interface guiding visitors through package selection, countdown, capture, and preview.

ReactViteTailwind CSSreact-webcam
02

Backend API

Coordinates image capture, processing, storage, printing, and Google Drive synchronization.

Node.jsExpressSQLite
03

Image Processing

Processes captured images using Sharp and a custom Floyd-Steinberg dithering algorithm before printing.

SharpCustom Dithering
04

Output Services

Uploads processed images to Google Drive and communicates directly with ESC/POS thermal printers over TCP.

Google Drive APIESC/POSTCP 9100
06

What it does.

01

Tablet Kiosk Mode

A fullscreen interface optimized for touch interactions inside a photobooth.

02

Multiple Photo Packages

Supports Solo, Couple, and Group photo sessions with different layouts.

03

Retro Dithering Filter

Applies Floyd-Steinberg dithering to produce crisp black-and-white thermal prints.

04

Automatic Google Drive Upload

Organizes every session into date-based folders while preserving original and processed images.

05

QR Code Receipt

Prints a receipt containing a QR code that opens the online gallery for the current session.

06

Thermal Printer Integration

Prints photos and receipts directly through network-based ESC/POS printers.

08

Where it got hard.

01

Thermal Printer Image Quality

What broke

Thermal printers cannot reproduce grayscale images effectively, resulting in washed-out prints.

How it was fixed

Implemented Floyd-Steinberg dithering to preserve visual details using only black pixels.

02

Reliable Offline Workflow

What broke

Photo sessions should continue even if internet connectivity is interrupted.

How it was fixed

Designed the application around edge computing, where all critical processing occurs locally before optional cloud synchronization.

03

Automated Gallery Delivery

What broke

Guests expect digital copies immediately after taking photos.

How it was fixed

Automatically uploads processed images to Google Drive and embeds the generated gallery URL inside a QR code printed on the receipt.

09

What I owned.

01

Designed the kiosk user experience.

02

Developed the React frontend for tablet devices.

03

Built the Express backend API.

04

Implemented custom Floyd-Steinberg dithering.

05

Integrated Google Drive API for cloud backup.

06

Integrated ESC/POS thermal printing.

07

Designed the complete local-first architecture.

10

How it ran.

Research

Week 1

Analyzed photobooth workflows, printer capabilities, and Google Drive integration.

Core Development

Weeks 2–4

Implemented kiosk interface, backend services, image processing, and local storage.

Integration

Weeks 5–6

Integrated Google Drive synchronization, QR code generation, and ESC/POS printing.

Testing

Week 7

Validated complete end-to-end workflows on a physical photobooth setup.

11

What I took from it.

Edge computing significantly improves reliability for kiosk-based applications.

Image preprocessing has a major impact on thermal print quality.

Automating the entire workflow creates a seamless user experience from capture to print.

Integrating hardware devices requires careful handling of network communication and fault recovery.

12

What I'd do next.

Support DSLR camera integration.

Add customizable photo templates and overlays.

Enable online reservation and payment.

Provide remote booth monitoring and analytics.

Support multiple printer profiles and paper sizes.

Related

Next case study

SoraTour

A modern company profile and travel booking website for PT. SORA TRAVEL NUSANTARA.