Real-time systems

Live data, messaging, presence and media — the unforgiving end of the web

Real-time is where sloppiness becomes immediately visible. A page that loads two hundred milliseconds late is unremarkable; two hundred milliseconds of jitter in a call is people talking over each other. Connections drop and must resume without losing state, messages arrive out of order, the same event gets delivered twice, and a user has the same session open in three tabs. None of that appears in development on one machine and all of it appears in week one of production.

What the work involves

  • Transport chosen deliberately — server-sent events, WebSocket or WebRTC each fit different problems
  • Reconnection and state resynchronisation designed as a first-class path, not an error handler
  • Idempotent message handling, because at-least-once delivery is what you actually get
  • Presence and typing indicators that degrade quietly instead of lying
  • Media path design where video or audio is involved, including relay for restrictive networks
  • Load testing with realistic concurrency, since real-time systems fail non-linearly

Why we are credible at this

We operate WebRTC media servers, a conference focus, a TURN relay and recording for KamoCRM's video meetings, plus SIP telephony carrying live calls — and we once spent a long time learning that a conference collapsing on the second participant was the media server reporting itself non-operational, not an application bug.

What moves the price

We quote after discovery and the number is fixed before anything starts. These are the things that move it, so you can see roughly where your project sits before you talk to us.

  • Concurrency — the number of simultaneous participants changes the architecture, not the server size
  • Whether media is involved, which brings network conditions into scope
  • Whether state must survive a disconnect, and for how long
  • Recording and retention, which are compliance questions wearing technical clothes

Proof we have done this

Our own video conferencingWebRTC media servers, TURN relays and the ICE path in betweenOur own telephone networkAsterisk, Kamailio and FreeSWITCH, carrying real callsA mobile application, in the storesReact Native with native modules where JavaScript will not do

Questions we get asked

Other App Development work

Custom web applicationsThe system your business actually runs on, built properlyAPI and integration developmentMaking two systems agree, including the one with no documentationMobile applicationsCross-platform where it makes sense, native where it does notAI and retrieval systemsAssistants that read your documents, and know what they are not allowed to read
All App Development

Tell us what you are trying to do

A short conversation is usually enough to tell whether we are the right people. If we are not, we will say so and point you somewhere better.

Start a conversationI already use KamoCRMHow we quote