Skip to main content

How SportsAdda works — from install to a wicket alert in three taps.

SportsAdda is built around a passive push channel for scores and a local-first personalisation model. This page explains the moving parts in plain language — what happens when you install, how the score engine pulls from official feeds, how alerts are scheduled, and how the match centre arranges ball-by-ball context.

Install and first-run

You can install from Google Play (Android 9+) or the App Store (iOS 14+). The first launch asks for one of three things: a phone number for cross-device sync, a list of teams you follow, and the alert types you want. Every one of these is optional — you can browse scores and read editorial without doing any of them. If you do enter a phone number, the app sends a one-time code via SMS. There's no password. The phone number is hashed in storage and matched against the verification code, which expires after 10 minutes. We never store the SMS body itself. On Android, the install uses the standard Play Store flow and updates are handled automatically. On iOS, the same is true for App Store auto-updates. The APK mirror is for users who can't reach the Play Store — see the download page for the SHA-256 verification step.

How the score engine works

The score engine pulls from primary feeds — BCCI match centre for cricket, AIFF and league partners for football, the Pro Kabaddi League feed for kabaddi, and ATP/WTA endpoints for tennis. We cross-check the feed against the broadcaster's on-screen graphic every 30 seconds. Where the two disagree, the league feed wins and our editorial desk writes a short note on the match page. The push channel that delivers alerts is passive — it doesn't keep a network connection open. When a wicket falls, a goal is scored, or a set is won, the server pushes a notification via the platform's standard channel (FCM on Android, APNs on iOS). The app wakes only when an alert fires. That's why the app uses ~3% battery per match-day on a modern device, against the 8% we measured on comparable apps that poll. For leagues that don't have an open public feed, we don't ship the league. We don't scrape third-party broadcasts or replay score graphics from broadcaster apps — those are the wrong sources and they produce stale data within minutes. The editorial desk has a standing rule: if a feed isn't published by the governing body or its licensed data partner, we don't carry the league.

Alert types and how to configure them

SportsAdda runs six alert types: wicket, goal, super-raid, set-point, match-start, and innings/half-end break. You can opt into any combination. By default every alert is off, which is the opposite of most sports apps. The reasoning is simple — an unconfigured app should be quiet, not loud. When you do enable alerts, you can scope them per team. Following RCB and turning on wicket alerts means you only get notified when an RCB batter is out — not on every wicket in the match. The opt-out is one tap from the same screen, and the alert schedule respects device-level Do Not Disturb.

What you never get

We don't send alerts for squad announcements, transfer rumours, pre-match hype, broadcaster promos, or "you haven't opened the app today" re-engagement pushes. The editorial desk flags any alert that crosses the line in our weekly review.

Quiet hours and Do Not Disturb

We respect the platform's notification channels — if Do Not Disturb is on, the alert goes into the notification tray but doesn't vibrate or light up the screen. If you want absolute silence during certain hours, the in-app settings let you schedule a per-day mute window that overlays on top of Do Not Disturb.

Inside the match centre

Tap any live match on the home feed and you land in the match centre. The first card is the score. The second is the most recent ball, with a one-line context. The third is the win-probability bar. Everything else — wagon wheel, pitch map, batter-vs-bowler match-ups, partnership chart, run-rate projection, expected-goals map — is one tap further down. For cricket, the wagon wheel plots every ball against the fielding side, with run value and batter intent shown as the tooltip. For football, the xG map updates in near-real-time, and the cumulative xG line sits underneath the chart so you can see how the game's "expected" winner has shifted. For kabaddi, the raid-success chart plots each raider's successful raids per match with a moving average that smooths out a single off night. For tennis, the match centre surfaces the serve-speed chart and the break-point conversion rates for each player, with the on-court umpire's score call reconciled against the ATP/WTA feed every five seconds. When the feeds disagree, the umpire wins and the editorial desk publishes a correction if needed.

Personalisation, on-device

Following a team reshapes three things: the home feed (your team's next fixture at the top), the score strip (their match always visible), and the alert types (your team's events trigger notifications). The team list is stored in encrypted local storage. It's never sent to our servers in plain text, never sold, never shared, and deletable in one tap from Settings → Account. If you sign in, the team list syncs across devices via our backend. The sync is end-to-end encrypted with the same key we derive from your phone number — we can't read the contents of the list server-side. Delete your account and the sync record is purged within 24 hours; the local list on each device is purged immediately.

Reading history

Reading history powers the editorial recommendation engine — the "more like this" link at the bottom of every story. The history is stored locally for 30 days, then rotated. It never leaves the device unless you explicitly sign in to sync, in which case it syncs end-to-end encrypted with the same key.

Offline behaviour and data use

Live scores require a network connection — there is no offline cache of live data, by design, because stale live data is worse than no data. Reading history and your team list are cached locally and persist for 30 days so the app works during brief network drops. The match centre for finished matches stays available offline until the next data refresh; live match centres need a connection. On mobile data, the app uses roughly 4 MB per match-day of background sync and alert traffic. On Wi-Fi, the same workload is heavier because we fetch the next 24 hours of fixtures in one go (so the home screen has them ready when you open the app on the train). The data figures are from the same one-week test that backs the review page.

Engineering FAQ

Where does live data come from?

Direct feeds from BCCI (cricket), AIFF and league partners (football), Pro Kabaddi League (kabaddi), and ATP/WTA endpoints (tennis). Cross-checked every 30 seconds against the broadcaster's on-screen graphic.

How long do live updates take to reach the app?

Typically under 10 seconds from a new ball being bowled, and under 5 seconds for goal / super-raid / set-point events.

What happens if my connection drops during a match?

Live scores need a network — there is no offline cache of live data. Reading history is cached for 30 days so the editorial recommendation engine works during brief drops.

Why does the app use so little battery?

Passive push. The app keeps no background network connection; it only wakes when an alert fires. Polling-based apps we measured used 2-3× more battery on the same workload.

How do I report a wrong score?

Tap the match card → "Report a score". The editorial desk reconciles each submission within five minutes during live play.