Skip to content
Products

Every real-time primitive, built to work together

Most vendors sell you calls, then upsell chat, then meter recording separately. suryacloud ships the whole toolkit — and lets it run on your own cloud.

The platform

Every real-time primitive, one SDK

Calls, ringing, chat, streaming and recording — designed to work together and learned once. Mix what you need; ignore the rest.

Voice & Video

1:1 and group calls up to broadcast scale.

WebRTC SFU built on LiveKit, tuned for mobile networks. Adaptive simulcast, dynacast and hardware acceleration keep calls crisp on a 3G handset and a gigabit laptop alike.

  • Adaptive simulcast + dynacast
  • Up to 1,000 participants / room
  • Opus & VP8/H.264 with SVC
  • Active-speaker & noise suppression

Call Invitations

Ring real phones — even when the app is closed.

A full signalling layer over WebSockets with push-triggered ringing through FCM and Apple CallKit. Invitations, accept/reject, timeouts and busy states are handled for you.

  • Offline ringing (FCM + CallKit)
  • Invite / accept / reject / cancel
  • Auto-timeout & busy handling
  • Custom call payloads

Prebuilt Call UI

Drop in a full call screen in an afternoon.

Batteries-included call views for Flutter and Web — grid & spotlight layouts, PiP, mic/camera/speaker controls, mirroring, and hang-up wired to the SDK. Theme it or fork it.

  • Flutter & Web components
  • Grid, spotlight & PiP layouts
  • Mic / cam / speaker controls
  • Fully themeable

Persistent Chat

1:1 and group messaging with history.

Realtime messaging with delivery, unread counts, typing indicators, read receipts and paginated history — sharing the same connection as your calls, so there's one socket to manage.

  • 1:1 & group conversations
  • Typing + read receipts
  • Unread counts & history
  • Shares the call socket

Live Streaming

Go from a call to a stadium-scale broadcast.

Promote any room to an RTMP/HLS broadcast for audiences of thousands. Ingest from OBS or a phone, egress to HLS, and pull viewers in at a fraction of streaming-CDN cost.

  • RTMP & WHIP ingest
  • HLS egress to any player
  • Host-to-audience promotion
  • Low-latency mode

Recording

Compliant recordings, straight to your bucket.

Server-side composite or track recording via egress, written directly to S3-compatible storage you control. Nothing leaves your account — ideal for regulated telehealth and fintech.

  • Composite & track egress
  • Writes to your own S3 bucket
  • Room-level start/stop API
  • Data never leaves your cloud
Ship everywhere

One API, every platform

The same method names and callbacks across Flutter, Web and React Native. Learn calling once.

Stable

Flutter

suryacloud

iOS + Android, with CallKit & FCM ringing built in.

Stable

Web / JS

@suryacloud/client

Browser + React Native. Same API, TypeScript types included.

Stable

React Native

@suryacloud/client

Ships with the JS SDK — register the WebRTC globals and go.

Soon

iOS (Swift)

SuryaCloudKit

Native Swift package. On the roadmap.

Developer experience

From npm install to a ringing phone in minutes

An API small enough to hold in your head. The same calls work in Flutter, Web and React Native — no rewrites between platforms.

app.js
1import { SuryaCloud } from '@suryacloud/client'23const sc = new SuryaCloud('https://cloud.yourco.com')45// your backend mints the token from an API key6await sc.connect({7  sessionEndpoint: '/api/sc-session',8  userId: 'alice',9})1011sc.onIncomingCall = (call) => ring(call) // show your UI
Own the stack

A control plane, not just a connection

The pieces a real product needs around media — tenancy, keys, metering, residency — are built in. The same panel we run in production ships with the platform.

Multi-tenant control plane

Projects, API keys, per-tenant quotas and rotation — the same panel we run in production.

Usage metering & billing

Every participant-minute metered at the edge, with exportable usage for your own invoicing.

Data residency by default

Media and recordings stay in the region and account you deploy to. No third-party hop.

Token-based auth

Your backend mints short-lived session tokens with an API key. Users never see a secret.

SDKs that match

One identical API across Flutter, Web and React Native. Learn it once, ship everywhere.

Deploy in a day

Docker Compose to a single VM, or Kubernetes for scale. You hold the keys the whole way.

Deploy in a day, not a quarter

One Docker Compose file brings up the SFU, signalling and control plane on a VM you own. Point a subdomain at it and you're taking real calls — with every byte of media staying inside your account.

your-vm ~ deploy
$ docker compose up -d
✓ control-plane started
✓ signalling started
✓ sfu (livekit) started
● live at cloud.yourco.com — you own every byte

Get started

Pick the pieces you need. Ignore the rest.

Start with calls today, add chat and recording when you're ready — all through one SDK, on one bill, in your own cloud.