# netless-io/flat

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/netless-io-flat).**

6,410 stars · 876 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/netless-io/flat
- awesome-repositories: https://awesome-repositories.com/repository/netless-io-flat.md

## Topics

`agora` `agora-flat` `cloud-recording` `e-class` `e-learning` `electron` `flat` `online-classroom` `virtual-classroom` `whiteboard`

## Description

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.

## Tags

### Education & Learning Resources

- [Virtual Classroom Software](https://awesome-repositories.com/f/education-learning-resources/virtual-classroom-software.md) — Provides a comprehensive virtual classroom environment for online teaching with interactive whiteboards and session management. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### Part of an Awesome List

- [Video Conferencing](https://awesome-repositories.com/f/awesome-lists/media/video-conferencing.md) — Provides a video conferencing client with screen sharing, cloud storage, and external authentication for educational use.
- [Session Replay](https://awesome-repositories.com/f/awesome-lists/media/session-replay.md) — Plays back recorded whiteboard actions, video, audio, and messaging for asynchronous review. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### Business & Productivity Software

- [Multimedia Classroom Sessions](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-events/social-interaction-facilitators/real-time-communication-sessions/multimedia-classroom-sessions.md) — Delivers live teaching sessions combining video, audio, whiteboard, and messaging for synchronous engagement. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### Content Management & Publishing

- [Synchronized Session Playbacks](https://awesome-repositories.com/f/content-management-publishing/media-management/live-streaming-platforms/stream-recorders/headless-cloud-recording/synchronized-session-playbacks.md) — Records and replays whiteboard actions, video, audio, and messaging for asynchronous review.
- [Courseware File Sharing](https://awesome-repositories.com/f/content-management-publishing/secure-media-sharing/courseware-file-sharing.md) — Uploads and accesses cloud-stored media files for use as teaching materials during sessions. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### Networking & Communication

- [Proprietary Codec Fallbacks](https://awesome-repositories.com/f/networking-communication/media-streaming/webrtc-streams/proprietary-codec-fallbacks.md) — Captures and transmits audio/video using WebRTC with fallback to Agora's proprietary codecs.
- [Agora RTC Integrations](https://awesome-repositories.com/f/networking-communication/real-time-communication/agora-rtc-integrations.md) — Provides low-latency audio and video streaming via Agora RTC and SD-RTN integration.
- [Screen Sharing](https://awesome-repositories.com/f/networking-communication/real-time-communication/screen-sharing.md) — Broadcasts the presenter's screen to all participants in real time during classroom sessions. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### Software Engineering & Architecture

- [Collaborative Whiteboarding](https://awesome-repositories.com/f/software-engineering-architecture/collaborative-whiteboarding.md) — Synchronises drawing, annotations, and cursor positions across all participants in real time.
- [Teaching Whiteboards](https://awesome-repositories.com/f/software-engineering-architecture/collaborative-whiteboarding/teaching-whiteboards.md) — Enables live whiteboard collaboration alongside video and audio streams for interactive online lessons.

### Artificial Intelligence & ML

- [External Authentication Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/agent-orchestration-multi-agent/security-and-auth/authentication-strategies/identity-providers/external-authentication-integrations.md) — Signs in users using GitHub or WeChat accounts via external authentication integrations.

### Development Tools & Productivity

- [Session Recorders](https://awesome-repositories.com/f/development-tools-productivity/macro-recorders/session-recorders.md) — Replays whiteboard actions, video, audio, and messaging from past classroom sessions for asynchronous review.
- [Classroom](https://awesome-repositories.com/f/development-tools-productivity/macro-recorders/session-recorders/classroom.md) — Records and replays classroom sessions including whiteboard actions, video, audio, and messaging for asynchronous review.

### Security & Cryptography

- [External Provider Integrations](https://awesome-repositories.com/f/security-cryptography/social-login-providers/external-provider-integrations.md) — Signs in users using GitHub or WeChat accounts via OAuth2 external provider integrations. ([source](https://cdn.jsdelivr.net/gh/netless-io/flat@main/README.md))

### System Administration & Monitoring

- [OAuth 2.0 Provider Integrations](https://awesome-repositories.com/f/system-administration-monitoring/user-account-management/multi-user-account-systems/oauth-2-0-provider-integrations.md) — Authenticates users via GitHub or WeChat using OAuth 2.0 provider integrations.

### User Interface & Experience

- [CDN-Delivered Courseware](https://awesome-repositories.com/f/user-interface-experience/file-uploaders/drag-and-drop-file-upload/remote-session-file-uploads/device-to-host-file-uploads/cloud-storage-file-uploads/cdn-delivered-courseware.md) — Uploads courseware to cloud storage and delivers via CDN for low-latency access during sessions.

### Web Development

- [Desktop Shells](https://awesome-repositories.com/f/web-development/desktop-development/electron-based-development/desktop-shells.md) — Wraps the classroom UI in an Electron shell for native desktop experience on Windows and macOS.
