We

We dropped Go for Rust in our real-time telephony AI media plane

Hacker News

We dropped Go for Rust in our real-time telephony AI media plane

In building Vivik, an execution-grade telephony AI engine, we faced a brutal constraint: the human conversational loop. In psychoacoustics, a delay under 250 ms feels instantaneous. At 500 ms, users notice lag. Beyond 800 ms, conversations start feeling strained, and by 1.5 seconds, the illusion of real-time interaction collapses. That creates an extremely tight latency budget for voice AI: • Network RTT: 50–200 ms • LLM inference: 200–800 ms • TTS synthesis: 100–400 ms • ASR processing: 100–300 ms To consistently stay under a sub-500 ms SLA, the orchestration and media layers themselves must add almost no overhead. We initially built the entire system in Go. It worked well for concurrency and distributed orchestration, but under production-scale load, we hit an architectural wall: non-deterministic GC tail latency. The Media Plane processes raw PCM audio in strict 20 ms frames. Even tiny scheduling delays create audible jitter, packet drift, and conversational instability. Under a 25,000 RPS stress test: • Go implementation → P99 latency: 1,550 ms • Rust (Tokio) implementation → P99 latency: 310 ms The issue wasn’t average latency. It was the tail. Even highly optimized GC pauses become catastrophic in real-time telephony. A tiny scheduler interruption under heavy throughput creates queue backpressure that cascades across live audio streams. In practice, a 1.5-second spike means the system goes silent mid-sentence. We solved this by separating the architecture into two isolated worlds: 1. Control Plane (Go + NATS) Handles orchestration, routing, distributed state, and API coordination. Managed GC is acceptable here because it never touches live media streams. 2. Media Plane (Rust) Handles resampling, low-pass filtering, VAD, and packet-level audio processing with deterministic memory behavior. Rust’s ownership model eliminates the need for a background garbage collector entirely. Allocation and deallocation are resolved at compile time, allowing the Media Plane to maintain a flat latency profile even under sustained throughput. We also eliminated traditional synchronization primitives. Mutexes in real-time audio systems introduce priority inversion risks that immediately surface as glitches or packet jitter. Instead, the engine relies on fully lock-free communication patterns: • SPSC ring buffers for PCM transfer between socket and DSP threads • Michael-Scott queues using atomic CAS operations for multi-producer coordination Rust’s SIMD support additionally allowed us to leverage AVX-512 and ARM NEON instructions to process multiple audio samples per instruction cycle, significantly increasing call density per CPU core. The takeaway: managed runtimes are exceptional for distributed systems and asynchronous I/O. But once your workload crosses into hard real-time media constraints and human perceptual boundaries, averages stop mattering. Tail latency becomes the entire system. By separating orchestration from deterministic signal processing, we reduced P99 latency from 1,550 ms to a stable 310 ms under load. Our full engineering breakdowns, including the mathematical foundations behind our O(n) dual-gate VAD signal logic, are detailed in the Vivik whitepaper: https://vivik.bajpailabs.com/whitepaper Would love to hear how others are approaching real-time media constraints alongside LLM execution boundaries.

Share card

Actual performance

3points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: para, including · Missing: supports, reddit linkedin, podcasting
93%93% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: model, user, tiny · Missing: mac, agents, macos
69%69% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: ide, 000, io · Missing: https docs, excited, just released
68%68% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
TrustMRRLess likely to generate early MRR · Strong signals: users, way, para · Missing: mobile apps, ios, personal
48%48% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: users · Missing: plus, platform, intuitive
33%33% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
22%22% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Strong signals: audio, introduce · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Re
Real-Time Black Hole Rendered via Rust65%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Real-Time Black Hole Rendered via Rust

Hacker News3
Pl
Plane Above Me51%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Plane Above Me

Hacker News1
Sn
Snake game in the real projective plane35%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Snake game in the real projective plane

Hacker News1
COGXIO
COGXIO

Find someone interesting around you in real-time

BetaList
Vi
Visualizing the 2016 Presidential Discussion in Real Time (D3js)66%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Visualizing the 2016 Presidential Discussion in Real Time (D3js)

Hacker News4
Sh
Shoot ping pong balls in real time at roboempress57%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Shoot ping pong balls in real time at roboempress

Hacker News1
Db
Dbpatterns Is Now Real Time56%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Dbpatterns Is Now Real Time

Hacker News1
Vi
Visualizing transit delays in real time for SF MUNI73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Visualizing transit delays in real time for SF MUNI

Hacker News58
Pr
Precess , a real-time sass compiler59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Precess , a real-time sass compiler

Hacker News1
Sc
Scrapy Real Time56%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Scrapy Real Time

Hacker News37