free4chat  by i365dev

Real-time audio chat service emphasizing local-first and privacy

created 3 years ago
1,059 stars

Top 36.3% on sourcepulse

GitHubView on GitHub
Project Summary

free4.chat is a real-time audio and text chat service built with a local-first and privacy-first philosophy. It targets users seeking simple, secure communication and offers features like voice and text chat within rooms, with potential for private rooms and end-to-end encryption.

How It Works

The service leverages WebSockets for real-time communication, replacing traditional HTTP protocols. The backend is built with Elixir/Phoenix, utilizing the Membrane Framework for WebRTC capabilities, while the frontend is developed using React/Next.js. This stack facilitates efficient, low-latency interactions. The architecture includes plans for backend clustering and auto-scaling using Elixir's libcluster for distributed systems.

Quick Start & Requirements

  • Install/Run: Deployment is managed via GitHub Actions and AWS Lightsail for the backend. Docker is mentioned for PaaS deployment.
  • Prerequisites: Elixir, Node.js, and potentially AWS services for deployment. Specific WebRTC dependencies like coturn are also noted.
  • Resources: No specific resource estimates are provided, but distributed Elixir systems can scale significantly.
  • Links: dev-notes.free4.chat

Highlighted Details

  • Real-time voice and text chat with potential for private, password-protected rooms.
  • Exploration of CRDTs for real-time collaboration features like whiteboarding.
  • Integration of AI robots for voice games and language learning using Web Speech API and Azure TTS.
  • Backend clustering and auto-scaling capabilities using Elixir's libcluster.

Maintenance & Community

The project is open to contributions from those interested in WebRTC, P2P, CRDTs, distributed systems, or robot design. Contact is available via Twitter. The project acknowledges inspiration from and contributions to open-source communities like Membrane Framework, Kraken, Mornin, coturn, and Pion.

Licensing & Compatibility

The README does not explicitly state a license. Given the nature of open-source contributions and dependencies, users should verify licensing for commercial use or closed-source integration.

Limitations & Caveats

The project is explicitly stated to be for "technical test purpose" and used "at all your risk." Features like persistent text messages, arbitrary data channels, room permission settings, public room discovery, and robust room process rebalancing are marked as incomplete or under development. TURN cluster scaling has a noted dependency on upstream library fixes.

Health Check
Last commit

5 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
15 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Andre Zayarni Andre Zayarni(Cofounder of Qdrant), and
2 more.

RealChar by Shaunwei

0.1%
6k
Real-time AI character/companion creation and interaction codebase
created 2 years ago
updated 1 year ago
Starred by Addy Osmani Addy Osmani(Engineering Leader on Google Chrome), Victor Taelin Victor Taelin(Author of Bend, Kind, HVM), and
1 more.

chatbox by chatboxai

0.3%
36k
Desktop client app for AI models/LLMs
created 2 years ago
updated 6 days ago
Feedback? Help us improve.