// 04 · Service
WebRTC capacity and cost operations
Real-time systems degrade quietly: an encoder falls back to software, a provider reprices, a model is deprecated. Monitoring aimed at the counters that actually move, alerting on the degradation that precedes failure, and a person who answers inside stated hours.
- WebRTC
- WHIP
- LiveKit
- MediaMTX
- GStreamer
- FFmpeg
// The problem
Why this is hard
The failure mode of a live system that is being watched badly is not an outage. It is months of working while wrong.
A dashboard is a poor witness here because the numbers that look reassuring are the ones that do not bind. GPU utilisation sits in single digits while the hardware encoder is out of sessions, because utilisation and session count are unrelated — so the box is full at 8% and the monitor says there is room for an order of magnitude more. A memory limit somebody guessed reports that guess back forever, and every incident it causes looks like a workload problem rather than a configuration one. Cost per minute drifts because nothing is watching a number that only appears on an invoice.
And the spike that takes the fleet down is not peak traffic. It is a simultaneous cold start — every pipeline launching at once after a deploy, a crash or a host reboot — which a gradual ramp never reproduces and which happens in production on an ordinary Tuesday.
// What we build
What you get
The counters that actually bind
Hardware encoder sessions, per-stream cores and memory, cost per minute — the quantities that reach a ceiling. Utilisation is watched too, but never as the alert: it reads 8% on a box that is already full.
Alerts derived from a measurement
Limits set from a measured peak with margin, alerts set below the limits, in that order. A threshold picked before anything was measured is a guess that will report itself back to you as an incident.
The early signal, not the hard failure
Write stalls, page-cache eviction and rising latency usually precede a hard failure by minutes. Where they do, that is the alert — it buys the time a resource threshold does not.
Capacity re-measured as the fleet grows
The cold-start ceiling is lower than the steady-state one and it is the number production meets on its next deploy. It moves as services are added, so it gets re-measured rather than assumed.
// How it fits together
The system we build
- Instrumentthe binding counters
- Measurepeak, then soak
- Limitfrom the measurement
- Alertbelow the limit
- Respondstated hours
// Deliverables
- Monitoring on the counters that bind
- Alerts derived from measured limits
- Capacity re-measured as the fleet grows
- Incident response, stated hours
// How we work
From prototype to production, in four moves.
Discovery
We map the problem, the data, and the eval that defines "done".
Prototype
A working slice in weeks — real model, real data, measured.
Production
Hardened, observable, evaluable. Shipped where users live.
Scale
Cost, latency and reliability tuned as load and scope grow.
// Typical engagement
What it takes to work together
Architecture Sprint
$2–4kfixed · 1–2 wks
1–2 weeks
De-risk before you build — measured latency budget, architecture, and a costed fix list. Credited against the build.
Build
from$12kfixed scope or pod
typically 1–3 months
Ship it end-to-end and take it to production, in your repo and conventions.
Run & Scale
from$1.5k/ month
ongoing
Keep it working after launch — evals, latency and cost tracking, and incident response.
Indicative ranges — the final price and timeline depend on your project's scope, complexity, and integrations. A paid Architecture Sprint pins them down.
// FAQ
Common questions
// Related
Real-Time AI Audit
A fixed-scope diagnostic of a real-time or voice system already in flight: where the latency actually goes, what breaks under load, what it costs per minute — and a prioritised, costed fix list you can act on with or without us.
RAG & Knowledge Systems
Retrieval grounded in your own data, with an eval harness that proves the answers are faithful to the source — not plausible-sounding guesses.
// Industries
Where teams put this to work:
// Let's build
Ready to build with real-time ops?
Tell us where you are. We reply within a day with a concrete next step.