Synvora
NewPublic, private and presence channels

Realtime for yourorderswithout the servers.

Publish an event from your backend and every connected browser updates instantly. Separate dev, staging and prod, keys that fit any repo layout, and nothing stored.

  • Public · private · presence
  • No payloads stored
  • Any language
  • Any repo layout
order.createdmessage.sentmember.joinedcursor.movedpayment.receivedstock.lowtyping.startedorder.createdmessage.sentmember.joinedcursor.movedpayment.receivedstock.lowtyping.started
metrics.updatedticket.assigneddeploy.finishedpresence.changedinvoice.paidfile.uploadedalert.raisedmetrics.updatedticket.assigneddeploy.finishedpresence.changedinvoice.paidfile.uploadedalert.raised

0

channel types

public, private, presence

0

environments

dev, staging and prod

0

events stored

payloads are never saved

0

request to publish

plain HTTPS, any language

How it works

Three steps from nothing to live

No WebSocket servers to host, no scaling to think about. You publish; Synvora delivers.

01

Create a project

Pick an environment, add channels and copy two keys: a secret key for your server and a public key for browsers.

.env
SYNVORA_SECRET_KEY=sk_live_••••••••
SYNVORA_PUBLIC_KEY=pk_live_••••••••
02

Publish from your backend

One authenticated request. Synvora checks your limits and fans the event out to everyone subscribed.

server
POST /api/v1/events
{ "channel": "orders",
  "event": "order.created",
  "data": { "id": 4821 } }
03

Subscribe in any browser

Open a connection with your public key, subscribe to a channel and handle the event. That is the whole client.

app.js
sv.subscribe("orders")
  .on("order.created", (data) => {
    renderOrder(data);
  });
Try it

Publish once, watch everyone update

Pick a channel and an event, then press publish. Every connected client receives it at the same moment.

1 · Channel

2 · Event

POST /api/v1/events
{ "channel": "orders",
  "event": "order.created" }

Simulated here — your project does this through the API.

Admin panel
  • Waiting for events…
Customer app
  • Waiting for events…
Mobile
  • Waiting for events…
Features

Everything you need, nothing to run

Built for teams that want realtime in their product this week, not a project for next quarter.

Public, private and presence channels

Open channels for everyone, token-gated channels for signed-in users, and presence channels that show who is online.

  • Authorize private channels on your server
  • Presence shows who is in a room
  • Channel names are never a secret
newsprivate-orderspresence-lobby
Any repo layout

However you organise your code

Synvora is plain HTTPS plus a browser connection, so it fits a monorepo, two repos or a fleet of services — in any language.

my-app/

apps/api

sk_live_…

apps/web

pk_live_…

Monorepo

One repository, one project. Server code reads the secret key, browser code reads the public key.

backend repo

sk_live_…

frontend repo

pk_live_…

Frontend + backend repos

The backend repo holds only the secret key. The frontend repo holds only the public key, never a secret.

orders-svc

sk · orders.*

billing-svc

sk · billing.*

web

pk_live_…

mobile

pk_live_…

Many repos & services

Give every service its own key, limited to the channel prefixes it needs. Revoke one without touching the rest.

secret key · servers only| public key · safe for browsers

Developer experience

One request out, one line in.

Publish with plain HTTPS from any language. Receive with a small helper served from Synvora.

  • Plain HTTPS to publishWorks from any language, framework or cron job.
  • A tiny helper for browsersOne script tag handles tokens, subscribing and reconnecting.
  • Nothing to installNo package, no build step, no version to keep in sync.

terminal

curl -X POST https://synvora.swiftproject.in/api/v1/events \
  -H "Authorization: Bearer $SYNVORA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "orders",
    "event": "order.created",
    "data": { "id": 4821, "total": 2499 }
  }'
Use cases

Whatever should update without a refresh

Live dashboards

Push metrics, orders and alerts to admin screens the moment they change.

orders · metrics
Payment received
New follower

Notifications

Tell a signed-in user something happened, in their browser, right now.

private channels
AaravMeera

Collaboration

Cursors, typing indicators and who-is-online for shared documents and boards.

presence
Where is my order?

Chat & support

Message streams between customers and your team without running a chat server.

chat.*
Plans

Plans sized to your traffic

Every plan includes the same core features. What changes is how much you can send and how many people can be connected — and those limits are different for each plan.

  1. 1Submit a requestTell us what you are building and roughly how much traffic to expect.
  2. 2We talk it throughWe agree the plan, the number of projects and any special needs.
  3. 3Plan fixed, go liveYour account is created and you publish your first event.

Free

Try Synvora on a side project.

Message volume
Live connections
Publish speed

Exact limits are shared when your account is set up.

Included in every plan

  • Public, private & presence channels
  • dev · staging · prod environments
  • Test console, docs & AI prompt
  • Usage alerts before you hit your limit
  • Help getting your first event live
Request this plan
Popular

Starter

For apps going live with real users.

Message volume
Live connections
Publish speed

Exact limits are shared when your account is set up.

Included in every plan

  • Public, private & presence channels
  • dev · staging · prod environments
  • Test console, docs & AI prompt
  • Usage alerts before you hit your limit
  • Help getting your first event live
Request this plan

Pro

Higher volume and more room to grow.

Message volume
Live connections
Publish speed

Exact limits are shared when your account is set up.

Included in every plan

  • Public, private & presence channels
  • dev · staging · prod environments
  • Test console, docs & AI prompt
  • Usage alerts before you hit your limit
  • Help getting your first event live
Request this plan

Enterprise

Custom capacity, support terms and onboarding.

Message volume
Live connections
Publish speed

Exact limits are shared when your account is set up.

Included in every plan

  • Public, private & presence channels
  • dev · staging · prod environments
  • Test console, docs & AI prompt
  • Usage alerts before you hit your limit
  • Help getting your first event live
Request this plan

Need something bigger or different? Ask for a custom plan in your request — we tailor limits to your traffic.

Compare

Where Synvora fits

An honest, category-level look at the common ways to add realtime. Pick what matches your needs.

Time to first event

Setup

Synvora

Minutes

Create a project, copy a key

Self-hosted Socket.IO

Days to weeks

Servers, scaling, auth to build

Servers you operate

Operations

Synvora

None

Hosted for you

Self-hosted Socket.IO

Yours to run & scale

Plus monitoring and upgrades

What triggers an event

Model

Synvora

Your backend decides

Explicit publish, any logic

Self-hosted Socket.IO

Your code

Whatever you build

Project & environment isolation

Security

Synvora

Built in

dev / staging / prod rooms

Self-hosted Socket.IO

You build it

Easy to get wrong

Stores your event data

Privacy

Synvora

Never

Memory only, then gone

Self-hosted Socket.IO

Up to you

You decide and secure it

Guaranteed delivery & replay

Reliability

Synvora

Best effort

No replay; refresh from your backend

Self-hosted Socket.IO

You build it

Queues, acks, storage

Cost model

Pricing

Synvora

Plans with limits

Agreed up front

Self-hosted Socket.IO

Servers + time

Hidden engineering cost

General comparison across categories; individual products differ. Check any provider's current documentation before deciding.

FAQ

Questions, answered.

Can't find what you need? Tell us what you are building and we will walk you through it.

Request access

Ready to make your app feel alive?

Tell us what you are building. We will set up your account and you can publish your first event the same day.