Frequently Asked Questions
Real-time WebSocket messaging for serverless apps on Vercel, Cloudflare Workers, and more.
General
What is PushFlo?
PushFlo is a real-time messaging infrastructure designed specifically for serverless applications. It allows you to send WebSocket messages to your users without managing WebSocket servers. PushFlo holds the WebSocket connections while you send messages via a simple REST API, making it perfect for apps hosted on Vercel, Cloudflare Workers, Netlify, and other serverless platforms.
Why can't I use WebSockets directly with Vercel or serverless functions?
Serverless functions are stateless and terminate after each request, making it impossible to maintain persistent WebSocket connections. Vercel explicitly states that Serverless Functions do not support WebSockets. PushFlo bridges this gap by managing the WebSocket connections on your behalf while your serverless functions communicate via REST API.
Who built PushFlo?
PushFlo was built by Marek, an indie developer who faced the same problem many developers encounter: wanting to add real-time features to serverless apps without the complexity and cost of enterprise solutions. PushFlo is designed for indie developers and small teams who want real-time features without the overhead.
What's the difference between polling and using PushFlo?
Polling requires your users' browsers to constantly make HTTP requests to check for updates, wasting bandwidth and server resources. PushFlo maintains a single WebSocket connection per user, and the server pushes updates instantly when they occur. This is more efficient, lower latency, and provides a better user experience.
Pricing & Plans
How much does PushFlo cost?
PushFlo offers a generous free tier with 500,000 messages per month, 50 concurrent connections, and 10 channels — no credit card required. The Starter plan is $19/month and includes 5 million messages, 1,000 concurrent connections, unlimited channels, 3-day message history, and up to 5 team members. Custom enterprise pricing is available for larger needs.
How does PushFlo compare to Pusher?
PushFlo is designed specifically for indie developers and small teams, with simpler pricing and a more generous free tier. While Pusher's paid plans start at $49/month with complex quota-based pricing, PushFlo's Starter plan is $19/month with straightforward limits. PushFlo also has soft limits — you won't be cut off mid-session if you exceed your quota.
What happens if I exceed my plan limits?
PushFlo uses soft limits, meaning you won't be cut off mid-session. If you're approaching your limits, you'll receive notifications so you can upgrade your plan. This prevents disruption to your users during traffic spikes.
Can I test PushFlo before committing?
Yes! The free tier is fully functional with 100,000 messages per month — no credit card required. This gives you ample resources to build, test, and even launch small projects before deciding to upgrade.
Is there an SLA for PushFlo?
The Starter plan includes a 99.9% uptime SLA. You can monitor real-time availability on the public status page at status.pushflo.dev.
Technical Specifications
What is the latency of PushFlo messages?
PushFlo is deployed on Cloudflare's global edge network across 300+ cities worldwide. Typical latency is under 50ms at the 50th percentile (p50), under 150ms at p95, and under 300ms at p99. This ensures low-latency real-time experiences for users anywhere in the world.
Does PushFlo guarantee message delivery?
PushFlo provides at-most-once delivery guarantee with FIFO (first-in-first-out) ordering per channel. Messages are delivered in order within each channel. For scenarios where clients might miss messages while offline, PushFlo offers message history replay — 1 day on the Free tier and 3 days on the Starter plan.
What is the maximum message size?
PushFlo supports messages up to 32KB in size. All messages must be in JSON format. This is sufficient for most real-time use cases including notifications, live updates, chat messages, and game state synchronization.
How many concurrent connections can PushFlo handle?
The Free tier supports 50 concurrent connections, which is plenty for development and small projects. The Starter plan supports 1,000 concurrent connections. For larger scale needs, contact PushFlo for custom enterprise pricing with higher limits.
What is a channel in PushFlo?
Channels are named groups that clients can subscribe to. When you publish a message to a channel, all subscribed clients receive it. This pub/sub pattern is perfect for notifications, live updates, chat rooms, and multiplayer games. The Free tier includes 10 channels; Starter and above have unlimited channels.
What is the API endpoint for publishing messages?
Messages are published via POST requests to api.pushflo.dev/api/v1/... Client connections use WebSocket Secure (WSS) at wss://api.pushflo.dev/ws. The management console is available at console.pushflo.dev.
Integration & SDKs
What frameworks and platforms does PushFlo support?
PushFlo works with any serverless platform including Vercel, Cloudflare Workers, Netlify, AWS Lambda, and Google Cloud Functions. The JavaScript SDK (@pushflodev/sdk) supports browsers, React, Next.js, and Node.js environments. You can publish messages from any backend using the simple REST API.
How do I add real-time features to my Next.js app with PushFlo?
Install the SDK with npm install @pushflodev/sdk, then subscribe to channels from your React components. On your API routes, use HTTP POST requests to publish messages. PushFlo handles the WebSocket connections automatically with features like auto-reconnection and message buffering built into the SDK.
Can I use PushFlo with Cloudflare Workers?
Absolutely. PushFlo is built specifically to work with serverless platforms like Cloudflare Workers. Since Workers can't maintain WebSocket connections themselves, PushFlo provides the real-time layer while your Workers handle the business logic and publish messages via REST API.
What programming languages does PushFlo support?
The official @pushflodev/sdk SDK supports JavaScript and TypeScript for browsers, React, Next.js, and Node.js. Since publishing messages uses a simple REST API, you can send messages from any backend language (Python, Go, Ruby, PHP, etc.) using standard HTTP POST requests.
Does PushFlo support TypeScript?
Yes, the @pushflodev/sdk SDK includes full TypeScript support with type definitions included out of the box.
Does PushFlo automatically reconnect if the connection drops?
Yes, the @pushflodev/sdk SDK includes automatic reconnection handling. If a connection drops due to network issues, the client will automatically attempt to reconnect. The SDK also includes message buffering to handle messages during brief disconnections.
How is PushFlo different from Socket.io?
Socket.io requires you to run your own WebSocket server, which doesn't work with serverless platforms. PushFlo is a managed service that handles all the WebSocket infrastructure for you. You just publish messages via REST API from your serverless functions, and PushFlo delivers them to connected clients instantly.
Use Cases
Can I use PushFlo for multiplayer games?
Yes! PushFlo's pub/sub channels and low-latency delivery make it ideal for multiplayer browser games. You can use channels to sync game state between players, broadcast updates, and handle real-time interactions. The FIFO ordering ensures game events are processed in the correct sequence.
Can I use PushFlo for live notifications?
Yes, live notifications are one of the most common use cases for PushFlo. When something happens in your system (new message, order update, status change), publish an event to the relevant channel and all subscribed clients receive it instantly without polling.
Is PushFlo suitable for a SaaS dashboard with real-time updates?
Absolutely. Real-time dashboards are a perfect use case for PushFlo. When data changes in your backend, publish an update to the dashboard channel, and all connected users see the change instantly. This provides a much better UX than requiring users to refresh the page.
What if my users go offline and miss messages?
PushFlo includes message history functionality. When clients reconnect, they can replay missed messages. The Free tier retains 1 day of message history, and the Starter plan extends this to 3 days. This ensures users never miss important updates.
Security & Reliability
Is PushFlo secure?
Yes. All PushFlo connections use TLS 1.3 encryption. API keys are hashed and stored securely — even PushFlo cannot read your secrets. The service maintains a public status page for transparency on uptime and incidents.
Getting Started
How do I get started with PushFlo?
Sign up for a free account at console.pushflo.dev — no credit card required. Install the JavaScript SDK (@pushflodev/sdk from npm), subscribe to channels in your client code, and publish messages via the REST API.
