Vercel
Copy page
Vercel can host the HTTP surface (/sync/pull, /sync/push, /nizhal/contract) on Fluid/serverless functions with an external Postgres (Neon).
Realtime gap
Section titled “Realtime gap”Serverless instances are ephemeral. inProcessRealtime does not fan pings across instances. Use listenNotifyRealtime with a shared Postgres so any instance’s commit NOTIFY reaches all subscribers.
WebSocket on Vercel depends on platform support and connection limits — treat WS as best-effort; pull.intervalMs on clients remains the convergence backstop.
Honest verdict
Section titled “Honest verdict”| Concern | Status |
|---|---|
| Pull/push API on Fluid | Viable with Neon + Hyperdrive-style pooling |
| Multi-instance NOTIFY | Required for cross-instance pings |
| Long-lived WS | Platform-constrained — verify current Vercel WS docs before betting product UX on instant push |
| Offline convergence | Still holds — cursor pull is authoritative |
For production realtime-heavy apps, a always-on Node/Bun VM or Cloudflare DO hub is simpler than fighting serverless WS limits.
Managed Postgres
Section titled “Managed Postgres”Pair with Neon — Nizhal’s no-WAL machinery runs without replication slots.