---
title: "EZ Sequence: How EZRGB uses DBOS to power animated holiday light shows | DBOS"
description: "How EZRGB uses DBOS durable workflows to power EZ Sequence, its software for animated, computer-controlled holiday light shows."
url: "https://www.dbos.dev/blog/ezrgb-dbos-light-shows"
---

# The Software You Need for Holiday Overdecoration

Chuck Bear

December 23, 2024

DBOS Architecture

#### ‍**Animated Holiday Light Shows**

People have been overdecorating for the holidays for a long time.

![Movie still of a wide-eyed man in a winter cap and gloves holding two extension cord plugs together on a snowy night, about to light up a display](https://www.dbos.dev/assets/cms/67661fb4f45bab651b4cf06d_AD_4nXcALnUWVnMnhc_-xdzgBxNVieefm3B-qKZ64qSqbnneZl29KzAJfMy26hafLtQebjRkp5RO2O1A1wWBdHp-3428NoAsR2XqPIQbeneNx_GLU2J_GX5Kj0Sl573ifgYHA0mmfTHnjg.png)

However, as engineers, we realize that the problem shouldn’t just involve more lights, what we really _need_ is computers!

![The author's house at night covered in multicolored string lights, with inflatable snowman, Santa, and lighted lawn figures: the display without computers](https://www.dbos.dev/assets/cms/67661fe8e3a0064054e15c7b_AD_4nXd_GVazYLBQOK_CRv-xFvFyUE0F12UZ5toXFuXwRO9N8toeu1IVp7wqiGYMys7MudWpN9127uxXFD4w0gecxM1o3s5_8X8fyyLeG9idI3dSYrWG7xZFxDDrKVq9m43ClCgBOPu1A.png)

_My House Display Without Computers (Above) versus With Computers (Below)_

#### **What Goes Into an Animated Light Show?**

1.  [Smart pixels](https://wallyslights.com/collections/12v-pixels).  These LED lights have red, green, and blue LEDs and a microchip inside and are individually controllable to produce millions of colors on demand.
2.  [Coro cutouts](https://efl-designs.com/) to hold the pixels in a thematic shape.
3.  [Controllers](https://www.baldrickboard.com/), which serve as a bridge between Ethernet network data and the pixel strings, and also often have the job of providing DC power to the pixels.
4.  A [computer program](https://xlights.org/) for sending data to the lights. This program typically maintains a “layout,” which is a computer model of where the pixels are physically located on the house, a “controller configuration” with the topology of network addresses, ports, and light strings so that the computer knows where to send the data for lights in the layout, and a “sequence” of music, colors, images, motion, and other effects that are timed to the music and targeted for the layout.
5.  Sequences.  Without sequences, the whole thing is a mess of cables, boxes, and plastic cardboard.

#### **Sequencing**

Making a good light show sequence is a creative process.  In the same way that composing a song requires a pleasing combination of interesting sounds through time, a light show sequence is a combination of interesting lighting effects through time.  I’ve been told that it takes about 50 hours per light show to mark the timings, choose colors and effects, line everything up, and adjust to achieve a great sequence.

![Light show sequencing software timeline: audio waveform, beat and lyric tracks above dozens of rows of colored lighting effects for each prop, timed to the music](https://www.dbos.dev/assets/cms/676621cde3a0064054e338e1_AD_4nXf6-DafMRZEJzcipONjQf1TqCDu3Euq0pS9BCbLzUSzp_yjbO4guckZgXQ32iF1r0_9QyjDb2sHHuxhtj-Ns7ln6JtvawFy6IJsoP0EpOd68MZqbQXrBbxsKH5L-H_28uvTm2dP.png)

_This looks like a job for… someone else!_

#### **Sequence Vendors**

Because sequencing requires lots of time (and creativity), many of us buy the sequences from [vendors](https://www.pixelprodisplays.com/).

Even with purchased sequences, there is still a challenge, because every house is different. Sequences have to be “mapped” from one layout to another. The lighting equipment varies significantly between shows.

![PixelPro Displays vendor mockup: a large two-story house outlined in pixel lights with a mega tree, snowflakes, arches, and candy canes in its layout](https://www.dbos.dev/assets/cms/6766220aba42d7431d5d8e9b_AD_4nXcONKVJOceCCbOz2fQoz82Wt6cMcW2OXFLcDJzYJDId5M0tlg5MTTUvkqP-uUWNfQfIr8qnAGXi89kDs6pf_lJ_eGW8mPPTfM71NndHBeOTbW_rPRCBbjEXRhAESvmAsFFOPaBaVw.png)

_What The Vendor Thinks A House Should Look Like…_

![3D wireframe model of the author's actual yard layout, with a house, inflatables, arches, trees, and props arranged differently from the vendor's mockup](https://www.dbos.dev/assets/cms/676622148b87bcbe38589aba_AD_4nXfBzXub26VEhFYQJekfsSzORfzDN9V5JPHigV1b43WqfgzkC5rsTDXwYFxYsWJEDqrzUcL0ffIswTaFe_Oy7_Rr5UiUgzRSP0Yv9WEwNUek7H9yZaFcH-zfZvchnvYGRboRMZQ5.png)

_What My House Looks Like_

This is where DBOS fits in; it was used to build and run the services that coordinate and automate the process of mapping purchased sequences to user layouts.

#### **About** [**EZRGB**](https://ezrgb.com/)

EZRGB aims to make the whole animated light show “EZ”, which means selling and supporting complete components or light shows through a simple web storefront. This includes:

1.  Sourcing and selling assembled controllers, lighting props, or entire layouts, as opposed to the kit-based approach common in the hobby.
2.  Working with a network of installation and technical professionals to offer on-site service.
3.  Providing a magical sequence procurement experience, EZSequence, powered by DBOS. All you have to do is click “buy”, and computers do the rest.

#### **The EZRGB Sequence Solution**

EZRGB’s [website](https://ezrgb.com/) is built on [WordPress](https://en.wikipedia.org/wiki/WordPress), with a [WooCommerce](https://en.wikipedia.org/wiki/WooCommerce) storefront. This website has customer account pages, where users upload their show layouts, and a sequence store for purchasing sequences. All customer profile updates and sales events from this front end trigger fulfillment workflows, which are written in [DBOS Transact (TypesScript)](https://github.com/dbos-inc/dbos-transact-ts) and hosted in [DBOS Cloud](https://www.dbos.dev/dbos-conductor).

> "We considered building our digital fullfillment process on AWS Lambda but couldn't figure out how to make it work consistently. With DBOS, automating our sequence rendering jobs and integrating with SQS messages and S3 storage was easy, and it scales to zero in our off-season."

DBOS workflows handle all of the database tables, while keeping the sequence data, layouts, and completed sequences completely synchronized in [AWS S3](https://aws.amazon.com/s3/). The DBOS Cloud service uses [AWS SQS](https://aws.amazon.com/sqs/) to send out AI mapping and sequence render jobs to outside workers (written in Python and C++, and hosted on prem or in EC2), which put the results in S3 and call back to DBOS via HTTP.

‍

![EZRGB architecture: WordPress WooCommerce storefront calls DBOS Cloud workflows over HTTP; DBOS sends SQS map/render requests to EZRGB workers (AI map, render), which call back via HTTP; DBOS uses RDS and S3](https://www.dbos.dev/assets/cms/67662746932da65a520fd64c_676625161488b5a0224457b5_ezrgb-dbos.png)

_EZRGB Sequence Solution Architecture with DBOS_

For EZRGB, the best features of DBOS Transact and DBOS Cloud are the **development and operational simplicity**. The addressable market for animated light shows is likely only a few thousand customers, which is too small to support a large development effort.  However, by using WordPress, AWS, DBOS Transact, and DBOS Cloud, an entire frontend and backend were built by hobbyists, but the resulting code is **reliable, scalable, and secure**.

#### **Learning More**

To try out EZSequence on your house, visit EZRGB: [https://ezrgb.com/](https://ezrgb.com/)

To learn more about DBOS and try it out, check it out (and please give us a star) on GitHub:

-   TypeScript: [https://github.com/dbos-inc/dbos-transact-ts](https://github.com/dbos-inc/dbos-transact-ts)‍
-   Python: [https://github.com/dbos-inc/dbos-transact-py](https://github.com/dbos-inc/dbos-transact-py)
-   DBOS Quickstart: [https://docs.dbos.dev/quickstart](https://docs.dbos.dev/quickstart)
