Flask-based admin interface for OBS – Real-time updates from any device (French base project)

george_pompidou

New Member
Hi everyone,

I’m developing a Flask-based admin interface to manage live football match displays in OBS, and I wanted to share everything I’ve built so far. I’d love to get your feedback or suggestions to improve it further.

The goal is to automate the display of live match info in OBS (timer, score, lineups, substitutions, and live comments) using data from web sources, while keeping a clean and user-friendly admin panel built with Flask.

This project is built with a French-language base, but the interface is fully intuitive and can be used without speaking French.

I’ve invested a lot of time and, above all, passion into building this interface. It’s something I truly care about.

Everything works perfectly now, though I plan to reorganize the codebase soon to make it cleaner, more modular, and easier to maintain.

I also made sure the whole interface is super simple and intuitive to use — even for someone with no technical skills.

I’ve opened the necessary ports on my local setup so the interface is accessible from any device on the same network: PC, phone, tablet…

That means I can update the score, lineups, or timer from my phone, and the result appears instantly in OBS, without touching the computer.

admin.py

– The Flask interface

Features :
  • A single Flask page (form_template.html) displays all the sections: timer, score, lineups, subs, live comments, etc.
  • Each section has its own update button. Clicking it writes the content directly into the related HTML file (timer.html, score.html, etc.).
  • Current content is shown in <textarea> fields for easy editing.
  • There’s a dedicated block to fetch live data (timer, score, lineups, subs) from a single URL (the lineups page). Values are extracted by HTML IDs (#score-or-time, #home-lineups, etc.).
  • AJAX (JavaScript) is used to inject live data directly into the form without refreshing the page.
  • A dedicated block on the right side displays the livecomments.html file, scrollable and styled to be visible even with white font.
commentaires.py

– Live comments from external source

Features :
  • Fetches live match comments from the LiveScore API (or equivalent).
  • Each comment is given a SHA-256 hash to avoid duplicates.
  • Comments are sorted chronologically, even if the source sends older data again.
  • The result is written to a single HTML file: livecomments.html, displayed in OBS as a live browser source.
Everything works great on my side, including proper comment ordering.

I’m open to any suggestions to further improve the UX or performance, and I’d love to hear from anyone who’s built something similar.

Thanks in advance to the OBS community !
 

Attachments

  • IMG_5956.png
    IMG_5956.png
    264.3 KB · Views: 11
  • IMG_5959.png
    IMG_5959.png
    311.9 KB · Views: 11
Top