You’re streaming a match on a crowded commuter train when the ball hits the net — 0.8 seconds later, your phone buzzes with a goal alert, even on a shaky 3G signal. That speed comes from a serverless push pipeline rather than a fleet of always-on WebSocket boxes. 

In late 2024, the 1xbit app team rebuilt its live-score channel on AWS, moving every message — from “goal” to “full-time” — through an event stream that scales on demand and idles at near-zero cost between fixtures. This article unpacks the technical choices behind that upgrade and shows how you can copy the pattern for any sports-data project.

Problem Statement — Latency vs. Cost for Mobile Sports Feeds

Conventional socket clusters hold open TCP connections for every subscriber. With 50,000 fans glued to the same Champions League topic, a six-node Kubernetes pool must keep roughly 3.2 GB of memory reserved for idle keep-alives alone. During a big-game surge, outbound bandwidth can spike above 1.5 Gbit/s¹, forcing an ­extra node just to stay under the 70% CPU mark.

The financial hit is worse off-season: those pods still burn at least $470 a month in on-demand EC2 and Load Balancer hours, even when the tournament calendar is dark. Latency also creeps up as connection counts climb: packet captures from a February 2025 derby showed p95 delivery times drift from 600 ms at 10 k connections to 2.1 s at 45 k, one fragile proxy restart away from a total blackout. A model that charges per message rather than per socket eliminates that overhead while keeping tail latency well below one second.

Architecture Snapshot

Layer

Service

What it Does

Pay-as-You-Go Metric

Trigger

Amazon SNS standard topic

Receives match events from the stats ingestor

First 1,000,000 mobile pushes free each month; $0.000001 per push after that

Fan-out

AWS Lambda (Python 3.12, 512 MB, 1s timeout)

Formats payload, signs VAPID headers

Billed per millisecond; 100,000 pushes/min test peaked at $0.64/hour

Delivery

API Gateway WebSocket → Service Worker

Sends WebPush frame to browsers / React Native bridge

Charged per million messages ($1.00)

Auth

VAPID public/private pair stored in AWS Secrets Manager

Verifies sender without external gateway fees

Secrets rotate every 90 days

Why SNS + Lambda?

  • Elastic throughput — publish capacity auto-ramps; a burst to 120k fans in extra-time landed at p99 = 1.4s.

  • Idle costs ≈ $0 — outside match windows only, CloudWatch cron invocations tick over.

Firebase Cloud Messaging vs OneSignal

Feature

FCM

OneSignal

Free tier

Unlimited pushes, Android/iOS

6,000 messages day¹

WebPush support

Native

Via plugin

Data residency

US-only

Multiple regions

GDPR tooling

Manual API purge

GUI + API

FCM stays unbeatable for app-store ecosystems, while OneSignal’s dashboard appeals to marketing teams. The SNS route wins when you need vendor-neutral WebPush plus strict EU data residency—exactly what the score-alert rebuild required.

By wiring match events into this serverless chain, you send millions of notifications at hardware-level latency, yet pay pennies when the stadium lights go dark.

Takeaways for Indie Builders

Keep the logs talking. Run a CloudWatch Insights query every five minutes to flag spikes:

filter @type = "WebPush" | stats pct95(latencyMs) as p95 by bin(5m)

Set an alarm at p95 > 900 ms to ship a PagerDuty alert before users start tweeting screenshots of stale scores.

Build a parachute. When WebPush drops below 80 % delivery on a grip strength test, trigger a fallback SMS via the same SNS topic. At $0.006 per message in India, an overtime thriller still stays well under budget. Twilio can stand in where AWS SMS reach is thin—wire it through a Lambda destination so the switchover happens without code redeploys.

Know when to rent, not build. If your fanbase checks scores fewer than ten days a month, or marketing needs smart segments and A/B tags, shift delivery to a SaaS like OneSignal or Firebase Cloud Messaging. The first gives a visual composer; the second plugs straight into Android without extra libraries. Keep SNS as the upstream event bus, feed the SaaS endpoint through an export Lambda, and you can pivot back to in-house WebPush the day traffic outgrows their free tiers.

Serverless push lets a sports app wake every handset in under a second while hibernating on days when the scoreboard rests. By pairing SNS with Lambda and smart monitoring, indie teams gain live-score speed without chasing hardware invoices — and they can still pivot to SaaS tools when marketing asks for extras beyond pure delivery.