Overview
Discover what makes Chitchatter powerful
Chitchatter is a lightweight, end‑to‑end encrypted peer‑to‑peer communication platform that can be self‑hosted or run entirely client‑side. Its core design eliminates the need for a dedicated API server: all routing, signalling, and data persistence occur in the browser using WebRTC, Trystero, and WebTorrent. When NAT traversal fails, a TURN relay is automatically used, ensuring reliable connectivity across restrictive networks. The application is written in TypeScript and bundled with Vite, providing a fast dev experience while keeping the runtime footprint minimal.
Peer‑to‑peer messaging, audio/video, and screen sharing
Unlimited file transfer
Ephemeral storage
Decentralized architecture
Overview
Chitchatter is a lightweight, end‑to‑end encrypted peer‑to‑peer communication platform that can be self‑hosted or run entirely client‑side. Its core design eliminates the need for a dedicated API server: all routing, signalling, and data persistence occur in the browser using WebRTC, Trystero, and WebTorrent. When NAT traversal fails, a TURN relay is automatically used, ensuring reliable connectivity across restrictive networks. The application is written in TypeScript and bundled with Vite, providing a fast dev experience while keeping the runtime footprint minimal.
Key Features
- Peer‑to‑peer messaging, audio/video, and screen sharing powered by WebRTC.
- Unlimited file transfer with client‑side encryption; the room name acts as the shared key.
- Ephemeral storage – no message or file data is persisted on disk, only in RAM.
- Decentralized architecture – no central API server required; optional server can be added for advanced routing.
- Embeddable – expose a simple
iframeinterface so other web apps can host a chat room. - Markdown rendering with syntax highlighting (react‑markdown) and multiline support.
Technical Stack
| Layer | Technology |
|---|---|
| Frontend | TypeScript, React (via Vite) |
| Networking | WebRTC (Trystero), WebTorrent, TURN relay fallback |
| File Transfer | secure-file-transfer library |
| Build Tool | Vite (esbuild) |
| License | GPL‑v2, fully open source |
The application relies on public static asset hosting (GitHub pages) for the UI bundle, but can be served from any HTTPS server. The optional API server is a minimal Node.js process that only handles TURN allocation and WebSocket signalling; it can be containerized or deployed on a lightweight VM.
Core Capabilities & APIs
- Room API – create or join rooms via a UUID; the room ID is also used as the encryption key.
- Peer Discovery – Trystero handles discovery and establishes a mesh of direct connections.
- Messaging API – simple
sendMessage/onMessagecallbacks; messages are JSON‑encoded and signed. - File API –
sendFile(file)streams encrypted chunks; the receiver reconstructs and decrypts on‑the‑fly. - Embedding API – expose a sandboxed
iframewith postMessage hooks for host‑app integration. - Webhook support – optional API server can emit events (e.g., room creation, peer join) to external services.
Deployment & Infrastructure
- Self‑hosting – host the static bundle on any HTTPS server (NGINX, Caddy, etc.). No backend required for core functionality.
- Scalability – the system scales horizontally by adding more static hosts; peer‑to‑peer traffic bypasses the server, so bandwidth costs remain low.
- Containerization – Dockerfile available for the optional API server; can be deployed on Kubernetes or ECS with minimal configuration.
- Resource Footprint – the browser runtime is the only heavy component; the server side (if used) consumes <50 MB RAM and negligible CPU.
Integration & Extensibility
- Plugin hooks – expose a global
window.chitchatterobject for custom extensions. - Webhooks & APIs – optional API server can expose REST endpoints to query room status or push notifications.
- Custom TURN servers – configure via environment variables; supports multiple relay providers.
- Theming & UI overrides – CSS custom properties allow deep theming; the component can be re‑rendered inside any React or vanilla app.
Developer Experience
- Configuration – minimal env variables (
TURN_URL,API_ENDPOINT); defaults point to public relays. - Documentation – comprehensive README with architecture diagram, API reference, and deployment guides.
- Community – active GitHub repository, issue tracker, and discussion forum; GPL‑v2 encourages contributions.
- Testing – unit tests cover networking logic and encryption; CI pipeline checks for vulnerabilities (Snyk badge).
Use Cases
- Secure Team Chat – embed a chat room in an internal portal without exposing credentials or servers.
- Event Communication – temporary, private rooms for webinars or conferences; no long‑term storage required.
- Peer‑to‑peer File Sharing – developers needing encrypted large file transfer without a central server.
- Decentralized Messaging for IoT – lightweight client can run on edge devices, communicating directly with peers.
Advantages
- Zero‑trust architecture – no server‑side persistence; data never leaves the browser.
- Performance – direct WebRTC connections reduce latency and avoid server bottlenecks.
- Flexibility – optional API server lets you add features (e.g., authentication, analytics) without changing the core.
- Licensing – GPL‑v2 ensures freedom to modify and redistribute; no commercial restrictions.
- Low operational cost – static hosting and peer‑to‑peer traffic mean minimal infrastructure spend.
Chitchatter offers developers a principled, secure communication stack that can be dropped into existing web applications or run as a standalone service with zero backend complexity.
Open SourceReady to get started?
Join the community and start self-hosting Chitchatter today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Tags
Explore More Apps
SafeLine
Secure your web apps with an AI‑powered reverse proxy WAF
ActivityWatch
Track your time privately, automatically and cross‑platform
Domain Locker
Central hub for managing and monitoring all your domain names
nefarious
Auto‑download movies and TV shows via torrents
Uguu
Fast, lightweight temporary file hosting
Rallly
Easily schedule group meetings with polls and availability sharing