$ show PoglyApp/pogly-standalone
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.
The LLM identified 5 files worth highlighting for reuse:
Provides pure functions for converting between screen, canvas, and element coordinate systems. Self-contained with no external dependencies beyond basic math. Demonstrates encapsulation of a common graphics programming concern that can be reused in any canvas-based application.
Compresses image files to a specified quality ratio and returns a Blob. Implements browser-based image compression using canvas, handling both synchronous and asynchronous processing. A self-contained utility solving a common problem in media handling applications with minimal dependencies.
Factory function that maps element type strings to corresponding React components (Text, Image, Widget). Eliminates conditional rendering logic and centralizes component resolution. Demonstrates a simple but effective pattern for dynamic UI rendering that can be extracted and used in any component-based system.
React context providing modal state management with open/close functionality and a custom hook for consumption. Implements a clean separation between modal state logic and UI rendering. The pattern is framework-agnostic (only depends on React) and solves a common UI concern in complex applications.
Presentational component that renders active modals from context state as a stack. Handles modal lifecycle and provides a consistent UI layer. When combined with ModalContext, demonstrates a complete, reusable modal system pattern that abstracts away state management from individual modal implementations.