Real-time
Live updates over WebSockets. Your app stays in sync without refreshing.
Things update without hitting refresh
When something changes in your database, connected clients see it immediately. Build progress updates live. User actions reflect across sessions. Your app feels alive instead of static.
What is ready
The real-time layer supports three patterns:
Database changes. Subscribe to any table and get notified when rows are created, updated, or deleted. The build progress tracker uses this to show live status without polling.
Presence. Know which users are currently online. This is useful if your product has any collaborative features, or even just for showing "5 people building right now" on a dashboard.
Broadcast. Send messages between connected clients without storing anything in the database. Good for ephemeral interactions like typing indicators or cursor positions.
How the agents use it
When a build step includes a feature that benefits from live updates, the agent wires it up to the real-time layer. You do not need to think about WebSocket connections, channel management, or subscription cleanup. The framework handles the plumbing. The agents handle the wiring. Your product just works in real-time.