← Blog

Concert Website 2.0 + OBS Graphics System

A Vue-powered concert site with real-time performer display, embedded livestream, and a custom-built graphics system for OBS.

4 min read VueOBSLivestreamNodeCGTailwind

This is the second version of the concert website I built for my neighbor — a piano & violin teacher who organizes student concerts. This time, I wanted to go further than just showing who’s playing: I wanted to embed a live video stream, and also create graphics overlays for the stream itself.


🌐 The Website

The frontend was built with:

It displays:

The performer data is structured as JSON, and I made a small control interface (private) to update who’s on stage during the show.


🎥 Graphics System 1.0

For the first livestream, I built a basic graphics overlay system:

It worked — and looked good — but it wasn’t super flexible or modular.


🧠 Graphics System 2.0 (NodeCG)

Later, I rebuilt the entire overlay system using NodeCG, which let me:

This system was used in the final concert — and over 80 people watched the stream live 🎉


🎬 Final Thoughts

Concert Website 2.0 was a huge upgrade over the first version. Not only did it look better, but the integration with OBS and custom graphics gave it a professional touch. The audience, both in-person and online, could easily follow the program, and the whole thing felt more polished.

I’m super proud of this one.



Want a follow-up post just about the NodeCG setup or the Flask version? Let me know and I’ll write a full breakdown!