Pogly Standalone is a real-time collaborative overlay editor designed for streamers. It allows multiple users to jointly create and manage stream overlays (text, images, widgets) that can be displayed in streaming software like OBS. The application features a React frontend with TypeScript, utilizing Material-UI and styled-components for the UI, and a C# backend powered by SpacetimeDB for real-time state synchronization. Key functionalities include drag-and-drop interface, layout management, role-based permissions (owner/moderator/guest), integration with streaming platforms (Twitch, YouTube, Kick) and emote services (7TV, BetterTTV, Tenor), and persistent storage via Docker volumes. The architecture follows a modular structure with clear separation of concerns: the frontend handles user interactions and rendering, while the SpacetimeDB backend serves as the authoritative state store, pushing updates to all connected clients via WebSocket. Deployment is containerized using Docker with Caddy serving the frontend and proxying to SpacetimeDB.
NOALBS is a Rust application that automatically manages OBS stream quality by monitoring real-time stream health (bitrate, RTT, offline detection) from various stream servers (Nginx-RTMP, SLS, Xiu, Mediamtx, etc.) and switching scenes in OBS accordingly. It also functions as a Twitch/Kick chat bot, allowing streamers to control streaming behavior via commands. The architecture is a single async binary using Tokio, with modular traits for stream servers (StreamServersCommands), broadcasting software (BroadcastingSoftwareLogic), chat platforms, and configuration. Key data flows: config loading → state initialization → polling stream server stats via HTTP → receiving OBS WebSocket events → switching logic updates OBS scenes. External dependencies include OBS WebSocket, Twitch IRC/PubSub, and various streaming server APIs. The codebase demonstrates non-obvious Rust patterns such as using `typetag::serde` for serializable trait objects and a localization system with YAML files. However, some commented-out code, hardcoded delays, and a warning about an OBS source feature being broken indicate areas of incomplete refactoring.