Skip to content
All work
P-09activeInteractive Installation · 2026

Coune Labworks Birthday Interactive TouchDesigner Installation

A local-first birthday greeting installation that lets visitors scan a QR code, submit a message and photo from mobile, and pushes composed cards into a TouchDesigner visual pool via OSC with HTTP polling fallback.

Role
Developer · Web Backend & TouchDesigner Integration
Timeframe
Jun 2026
Domain
Interactive Installation
Status
active
Display Pool
20 slots
Canvas
1920×1080
Transport
OSC + HTTP
Coune Labworks Birthday Interactive TouchDesigner Installation

Overview

This installation is a local-first birthday greeting system built for an event environment, where visitors submit names, messages, and photos from their phones through a QR-linked web form.

The backend stores submissions locally, composes 16:9 display cards, and streams them into TouchDesigner, which renders the event canvas and maintains a fixed visual pool.

The Challenge

The core problem was coordinating browser submissions, image storage, card composition, and real-time visual output without making the event stack fragile or dependent on a cloud backend.

Approach

  • 01Built the backend as a Flask application served with Waitress for long-running event deployment.
  • 02Validated submissions, stored raw photos and composed cards atomically, and persisted metadata in a local JSON database.
  • 03Integrated OSC delivery to TouchDesigner with HTTP polling as a fallback path.
  • 04Designed the TouchDesigner side around a fixed 20-slot spawner framework, preview canvas, and operator controls.

Outcomes

  • Delivered a fully local event submission flow from QR scan to visual display.
  • Supported stable photo-plus-message rendering on a controlled 1920×1080 canvas.
  • Kept the system operational even if OSC delivery fails, thanks to polling fallback.

Stack

Backend

  • Python
  • Flask
  • Waitress
  • JSON persistence

Frontend

  • HTML
  • CSS
  • JavaScript
  • Mobile form

Visuals

  • TouchDesigner
  • OSC
  • Spawner framework

Interested in a build like this?

I take on instrumentation, embedded, and computational physics work. Let's talk about your measurement problem.

Gilang Pratama Putra Siswanto