Flat is an open-source virtual classroom client that combines real-time video conferencing, an interactive whiteboard, screen sharing, and session recording into a single cross-platform application. Built with Electron and React, it provides a desktop shell for hosting and joining live teaching sessions on Windows and macOS, with a web-based interface that integrates video, audio, whiteboard annotations, and messaging for synchronous student engagement.
The platform distinguishes itself through its integration of Agora's Real-Time Communication engine with the Software-Defined Real-Time Network for low-latency audio and video streaming, alongside WebRTC-based media pipelines that capture and transmit streams with fallback to proprietary codecs. Whiteboard actions, media streams, and chat messages are synchronised in real time via the Netless interactive whiteboard SDK, and can be recorded to cloud storage for later playback. Authentication is handled through OAuth 2.0 social login via GitHub or WeChat, while courseware files are uploaded to cloud storage and delivered through a content delivery network for low-latency access during sessions.
The application supports periodic room scheduling for recurring classroom sessions, screen broadcasting from the presenter's display to all participants, and session replay that synchronises recorded whiteboard actions, video, audio, and messaging for asynchronous review. Classroom session management includes creating, joining, and configuring virtual rooms with unique identifiers and timestamps, enabling structured course delivery across multiple sessions.