Speaker.app

Speaker.app is an alternative free speech audio platform that is compatible on any device that supports a modern web browser.

No User Account or Password Required / Completely Anonymous

No user account or password is necessary to start talking.

User identities are based on Ethereum blockchain and are automatically generated when a user connects. The user identity is not currently written to the real blockchain, but serves as an internal identification based on Ethereum addresses.

The server only "knows" peers by their Ethereum address and (more temporary) Socket.io id.

Quasi-Decentralized & Open-Source

Calls are routed through other peers which choose to be network hosts; our server acts as a WebRTC signaling mechanism (via Socket.io) and for distributing the app on the internet.

There is a centralized MongoDB instance which contains network routing information to room hosts, and our intention for others who do not want this type of centralization to host it themselves.

Speaker.app is open-source and available on GitHub.

Other tools we maintain pertaining to the stack are located on our GitHub page, such as the Docker Dev SSL Proxy for development, and the Docker Coturn server for TURN / STUN.

Our configuration is mostly based in Docker Compose using linuxserver.io swag to maintain SSL certificates provided by Let's Encrypt.

Testing and Hosting

Real devices are utilized for testing using BrowserStack and real Mac Minis with Apple M1 processors from Mac Mini Vault to do transcoding tests (and are very pleased with the performance). We host our Docker-based infrastructure with Vultr, using their Cloud Compute instances.

Scaling

Speaker.app establishes a proxy through the host's web browser, which transcodes streams from each participant to every other participant, acting a bit like an MCU (Multipoint Conferencing Unit). and an SFU (Selective Forwarding Unit), progromatically able to emulate both at the same time, while also able to manipulate broadcast streams in real-time.

One of the greatest advantages to such an architecture is that it offers the ability to serve thousands of sub-networks from a single Node.js server, while the transcoding web browsers handle the work of transcoding the streams to and from each participant.

It also means that updates to the system are easily propagated to all hosting transcoders (web browsers) and any clients (also web browsers), as a refresh of the system will result in the latest software being run, automatically.

Furthermore the network is designed (and an ongoing consideration to improve) to transmit as little information through the server, and mostly rely on P2P (peer-to-peer; or in our case peer-to-browser-based-network-host) connectivity established by WebRTC.

Motto

To contribute, however slightly, to the commonwealth of all human innovation and experience.

More Information

For information regarding integration options with other software, visit zenOSmosis or contact info@zenosmosis.com.


Enable us to continue writing software that is free for you to use.
Buy Me a Coffee / PayPal
Speaker.app is a free software product distributed by zenOSmosis.
Non-moderated, quasi-decentralized, group communications.
Speaker.app Build: df14d