chat.judolas.xyz
Element Web on a hardened Synapse homeserver, a self-hosted LiveKit voice stack tuned past six pacer bugs, and a native music bot that never touches Docker on the audio hot path.
Shell
Not the stock client with a logo swapped in. The welcome flow, the sign-in card, the empty states all belong to a homeserver people are actually asked to join.
Accounts
Username and password go straight to Synapse. No OAuth hop through a third party that gets to log every sign-in on a homeserver it doesn't run.
Invite-only
Sign-up is gated by invite tokens, so federation can stay open to partner homeservers without the instance turning into a spam target the day it gets found.
Shared surfaces
A self-hosted Excalidraw stack and a synced YouTube, Twitch and Kick watch party with its own DJ queue, both living inside the in-call UI instead of behind a link-out tab.
The buffer
A -0.5ms lead offset looked negligible. It was a permanent clock error of 2.56%, and the jitter buffer climbed from 7576ms to 9925ms before the ceiling forced a 2.6 second crash.
Six pacer bugs, one root cause
An absolute 20ms clock replaced the sleeping-per-frame drift reset. The buffer settled at 2974 to 3015ms across a 5.5 minute test, with the CPU under load and zero underruns.
RED
One glitch survived at a fully stable buffer. RED redundancy was off. Turning it on ships every Opus frame twice, so a single lost RTP packet costs nothing.
Group calls route through a self-hosted LiveKit SFU with RED-protected Opus audio and an adaptive jitter buffer tuned across six separate pacer bugs before it held steady.
YouTube and SoundCloud search, a prefetching queue, and cache eviction run as a native systemd service next to Synapse, so the audio hot path never pays a Docker network tax.
The LiveKit JWT service checks every caller's OpenID token against their own homeserver before minting an identity. A real impersonation bug was found and fixed here, not a theoretical one.
Frontend
Backend
Infra
Protocol
Ready when you are.
The buffer holds at three seconds, RED covers the packet loss RTT can't, and underneath all of it it's still just Matrix.