Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.insforge.dev/llms.txt

Use this file to discover all available pages before exploring further.

Use InsForge Realtime to stream Postgres row changes, broadcast messages between clients, and track presence on one WebSocket connection. Clients subscribe to named channels like orders:123 or chat:room-1; row changes reach those channels through database triggers that publish onto them.
Need to react to changes on the server? Use Edge Functions with database triggers. Realtime is for clients that want to watch; Edge Functions are for code that responds.

Features

Postgres changes

Mirror table writes to clients with a database trigger that calls realtime.publish(channel, event, payload). The trigger decides which channel each INSERT, UPDATE, or DELETE lands on and what the payload carries, so a row change arrives as an event on a channel your clients already subscribe to.

Broadcast

Send arbitrary messages to every client subscribed to a named channel. Useful for chat, multiplayer cursors, typing indicators, and any low-latency fan-out that does not need to hit the database.

Presence

Track which clients are currently online in a channel and what state they hold (name, avatar, status). Presence syncs are CRDT-merged so eventual consistency is automatic.

Row-level security

By default any client can subscribe to any channel. Enable RLS on realtime.channels to gate who can subscribe (a SELECT policy) and on realtime.messages to gate who can publish (an INSERT policy). Both read the same JWT as REST and storage requests.

One connection

Database changes, broadcast, and presence all multiplex over a single WebSocket. Open one connection per session, subscribe to as many channels as you need.

Build with it

TypeScript SDK

Subscribe to channels and database changes from Node, browser, and edge.

Swift SDK

Native Swift realtime client for iOS and macOS.

Kotlin SDK

Coroutines-first realtime client for Android and JVM.

REST API

Realtime over WebSockets, addressable from any language.

Next steps