PushFlo
Back to Blog
6 min readBy Marek

Do You Really Need Millions of Messages? The Real-time Pricing Trap

Why most real-time services sell you quotas you'll never use. A honest look at what indie developers actually need from WebSocket infrastructure.

pricingindie-devreal-timeopinion

Every real-time messaging service loves to advertise their generous quotas. "6 million messages per month!" "Unlimited connections!" "50,000 messages per day included!"

Sounds amazing, right? Until you see the price tag: $29/month. $49/month. $99/month.

Here's the uncomfortable question nobody asks: Do you actually need millions of messages?

For most indie developers, the answer is no. And you're paying for headroom you'll never touch.

The Quota Arms Race

Real-time services compete on quotas like cloud storage providers competed on gigabytes in 2010. The numbers get bigger, the prices stay high, and customers feel like they're getting a deal.

Let's look at what's actually on offer:

ServiceFree TierFirst Paid TierPaid Quota
Pusher200K msgs/day (~6M/mo)$49/month1M msgs/day (~30M/mo)
Ably6M msgs/month$29/month12M msgs/month
PushFlo500K msgs/month$19/month5M msgs/month

At first glance, Pusher and Ably look like better deals. More messages for your money, right?

But here's what those numbers don't tell you: most indie apps never come close to using them.

What Real Apps Actually Use

Let's do some math for typical indie SaaS scenarios:

Scenario 1: A Project Management Tool

  • 500 daily active users
  • Each user gets ~5 real-time updates per session (task changes, comments, status updates)
  • Average session: 30 minutes
  • Users per day: 500

Monthly messages: 500 users × 5 messages × 30 days = 75,000 messages

That's 75K messages. Not 6 million. Not even close.

Scenario 2: An E-commerce Dashboard

  • 200 orders per day
  • Each order triggers 3 notifications (placed, shipped, delivered)
  • Admin dashboard updates every time an order comes in

Monthly messages: 200 orders × 3 notifications × 30 days = 18,000 messages

Plus maybe 6,000 dashboard updates. Total: ~24,000 messages per month.

Scenario 3: A Multiplayer Browser Game

  • 100 concurrent players at peak
  • Game state updates every 2 seconds during active gameplay
  • Average play session: 15 minutes
  • 1,000 games played per day

Monthly messages: 1,000 games × 450 messages × 30 days = 13.5 million messages

This is where you need millions of messages. Constant streaming of game state. Real-time synchronization every few seconds.

But most apps aren't multiplayer games.

The Email Service Parallel

This reminds me of email services. Every transactional email provider advertises massive quotas:

  • "50,000 emails per day!"
  • "100,000 emails per month on our starter plan!"

And what do most indie apps actually send?

  • Password reset emails: Maybe 50/day
  • Welcome emails: Depends on signups, let's say 20/day
  • Notification digests: 100/day if you're lucky
  • Order confirmations: 50/day for a decent e-commerce site

Total: 220 emails per day. 6,600 per month.

You're paying for 100,000 emails and using 6,600. That's 93% waste in your quota.

The same pattern applies to real-time messaging. Services sell you enterprise-scale quotas at enterprise-adjacent prices, when you need a fraction of that capacity.

What Do You Actually Need?

Let's flip the question. Instead of "how many messages can I get?" ask:

1. Can I afford the entry price?

A $49/month service with 6M messages isn't cheaper than a $19/month service with 5M messages — not if you'll never use more than 500K.

Real cost = price you pay, not price per message you don't send.

2. What happens when I have a spike?

This is where it gets interesting. Say you get featured on Hacker News:

  • Hard daily limits (Pusher): Hit 200K messages by 2 PM, your app breaks until midnight UTC. Your one big moment, ruined.

  • Hard monthly limits: You might burn through your month's quota in a day. Now what?

  • Soft limits (PushFlo): We notify you, but we don't cut you off. Watch your traffic spike, enjoy the moment, upgrade later if it becomes the new normal.

The worst time to have your real-time features fail is during your biggest traffic day. That's when you need them most.

3. What's the upgrade path?

When you do grow, what happens?

Some services jump from $0 to $49 to $99 to $299. The steps are steep.

PushFlo goes from $0 to $19. That's it. For most indie apps, $19/month covers everything you'll need for years.

4. What features actually matter?

Raw message count is one dimension. But consider:

  • Message history: Can users reconnect and catch up on missed messages? (PushFlo: Yes, built-in)
  • Soft limits: Will a traffic spike break your app? (PushFlo: No)
  • Latency: How fast do messages arrive? (PushFlo: <50ms p50)
  • Developer experience: How quickly can you integrate? (PushFlo: ~10 minutes, even on Vercel)

A service with 10x the quota but no message history might be worse for your users than one with lower quotas but proper reconnection handling.

Who Actually Needs Millions of Messages?

To be fair, some apps genuinely need high message volumes:

  • Real-time multiplayer games — Constant state sync
  • Live sports/trading platforms — Continuous data streams
  • Collaborative editing (Figma-style) — Every cursor move, every keystroke
  • IoT dashboards — Sensors reporting every second

If that's you, by all means, optimize for quota. You'll use it.

But if you're building:

  • A SaaS dashboard with occasional updates
  • An e-commerce site with order notifications
  • A project management tool with activity feeds
  • A social app with likes and comments
  • An internal tool with status alerts

You don't need millions. You need enough — with reliability, good DX, and pricing that doesn't punish you for being small.

The PushFlo Philosophy

We built PushFlo with a different assumption: most indie apps need real-time to feel alive, not to stream data continuously.

Your dashboard should update when something changes — not poll every 5 seconds.

Your users should see notifications instantly — not refresh to check.

Your app should feel modern and responsive — without costing $50/month before you have revenue.

That's why our free tier is 500K messages/month. It's enough for most apps to launch, grow, and validate — without hitting walls.

That's why our paid tier is $19/month. It's a price indie developers can afford while still figuring out product-market fit.

That's why we use soft limits. Your launch day shouldn't be ruined by a quota exceeded error.

The Bottom Line

Next time you're comparing real-time services, don't just look at the quota numbers. Ask:

  1. Will I actually use these messages? Do the math for your specific use case.

  2. What's the real entry price? A higher quota at 3x the price isn't a better deal if you won't use it.

  3. What happens on my best day? Traffic spikes should be celebrated, not punished.

  4. What features matter beyond quota? Message history, latency, reliability, DX.

The service with the biggest number isn't automatically the best value. Sometimes, the best value is the one that charges you for what you'll actually use.


PushFlo: Real-time for apps that need life, not streams. Start free — 500K messages/month, soft limits, no credit card required.

Real-time for apps that need life, not streams

Start free with PushFlo — 500K messages/month, soft limits, no credit card.