Roadmap
Viora’s roadmap is deliberately short. The app does one thing - private 1:1 calls - and the goal is to do that extremely well and then extend it just far enough to be useful for a small group, without ever becoming a meetings product.
Now
| Item | Status |
|---|---|
| Light / dark call UI | Shipped |
| 10 %-step mic gain slider | Shipped |
| Remove “Auto” codec, default to H.264 | Shipped |
| Suppress PiP while screen sharing | Shipped |
| Camera-recovery loop hardening | Shipped |
singleTask PiP re-entry fix | Shipped |
Next
Mesh multi-party (3–5 people)
The big one. A full-mesh topology - every phone holds a PeerConnection to
every other phone, no media server - with a hard cap of 5 and a
demand-driven video budget so a quiet participant nobody is looking at
encodes zero video.
Full design: Multi-party calls.
TURN fallback
Today the ICE config is STUN only.
Two peers behind symmetric NAT with no shared LAN can’t connect. A self-hosted
coturn (or an embedded relay in the signaling binary) with short-lived
credentials would close that gap. This is the single biggest reliability
improvement available and doesn’t compromise the privacy story - a TURN relay
forwards encrypted SRTP it can’t read.
Dedicated screencast video source
Screen sharing currently reuses the camera video source.
Moving it to createVideoSource(isScreencast = true) plus a native-resolution
bitrate bump gets sharp text at 60 fps. The change exists on a branch; it needs
re-integrating.
Maybe
- Web client parity for 2-person calls. The
server/public/client is a test tool. Bringing it to feature parity for 1:1 would let a phone call a laptop. - Persistent room links. Right now a room is ephemeral. An opt-in “stable room” (still just a code, still no auth) could make recurring calls easier.
- Call recording - local only, sharer-consented.
Never
- An SFU / MCU. Past a handful of people a mesh is the wrong tool, and so is Viora.
- Accounts, a directory, presence-outside-a-room.
- A hosted SaaS tier.
- Telemetry / analytics of any kind.