Digital Frame project preview

Digital Frame

Digital Signage & Out-of-Home Media

Industry
Advertising, Marketing, and Media
Duration
24 months
Size
5 members
Client
South Korea, APAC
Digital Frame content and device management dashboard
Tablet-controlled digital displays in an exhibition space

The Challenges

  • A system was already running in production and had to be moved without interrupting the screens it fed.
  • Four components - Frame Manager, Frame Viewer, Frame Updater and Frame Tools - worked in isolation. Data did not pass between them, so the same information had to be handled more than once.
  • The people producing display content are operators, not designers. Anything that required design skill would not get used.
  • Once content left the platform, nobody could tell what a device was doing. Checking a screen meant going to look at it.
  • There was no record of who changed what, which made it impossible to answer a client asking what played and when.
  • Kiosk terminals held their own data and fell out of step with the web platform.
  • Exhibition work happens on the floor, under time pressure, with the client standing there. It cannot depend on someone at a desk.
  • The platform had to reach both web and mobile users without building the product twice.
  • Some functions - device control, performance-sensitive work - could not be done cross-platform.
  • Generative AI produces variable output. Content going in front of a paying client cannot be a surprise.

Approach & Our Solution

  • Migrated the original system to Flutter, covering web and mobile from a single build, and dropped to Java, Kotlin and native Android for the parts that needed platform-level access or performance.
  • Connected the four Frame components into one data flow, so information entered once moves through the system instead of being re-entered.
  • Built Frame Manager as the web control point: operators assemble media from supplied templates, so publishing does not wait on a designer.
  • Folded device monitoring into Frame Manager through DMS, giving status and device information from one screen, and logged every action through HMS.
  • Built Frame Viewer and Frame Updater as the mobile side, pulling and pushing data from Frame Manager, running the service logic and driving the content onto the monitors.
  • Built Frame Tools for the people on site - quick device registration, install and publish, and a controller for driving content live during an exhibition from a tablet.
  • Ran real-time communication over WebSockets, UDP and MQTT so device status arrives and remote commands land without lag.
  • Automated synchronisation between the physical kiosk terminals and the web platform, removing the manual step.
  • Used ControlNet and LoRA alongside Nano Banana so AI-generated content is directed rather than sampled.
  • Connected Google Drive for continuous file synchronisation into the content pipeline.

Key Outcomes

  • Operators publish their own content from templates. Campaigns go live without a designer or an agency in the chain, so the cost and the waiting time of a content change both drop.
  • The state of every device is visible from one screen, so problems are found from the office rather than discovered by a client or on a site visit.
  • Devices are controlled remotely, which means a screen showing the wrong thing is fixed in minutes instead of staying wrong until a technician is dispatched.
  • Every action is logged, so the business can prove what ran, where and when - the question that comes up whenever a client queries an invoice.
  • Content can be changed on the exhibition floor from a tablet, so a client changing their mind mid-event is handled on the spot instead of becoming a complaint.
  • Kiosks and the web platform hold the same data without anyone re-entering it, which removes a class of errors that used to surface in front of customers.
  • AI-generated content is predictable enough to put in front of a paying client, which makes it usable commercially rather than experimental.

Tech Stack

  • Cross-platform: Flutter (Dart) for web and mobile; Native Android
  • Native / backend: Java, Kotlin - platform-specific features and mobile performance
  • Database: PostgreSQL
  • Cloud: Google Cloud Platform
  • IoT & real-time: WebSockets, UDP, MQTT; real-time device status upload and remote device control
  • System sync: automated synchronisation between kiosk terminals and the web platform
  • AI: Nano Banana, ControlNet, LoRA for controlled content generation
  • Third-party: Google Drive integration and continuous file sync
FlutterJavaKotlinPostgreSQLGoogle CloudWebSocketsMQTTControlNetLoRA
Bamboo

BambooAI is a startup digital agency of design, development and Artificial Intelligence that works friendly with global client

contact@bamboox.ai