Snapshot Scoring

SCORING APPUSPSA · IDPA · SASS · Steel Challenge · 3-Gun & more

The fastest way to score an action shooting match.

One app for every action discipline and every match-day job — from pre-registration to scoring to locked results — all on a phone, all offline-capable. Plus a competitor side that keeps shooters engaged between matches, and a free plugin that pushes results to your club site the second a match locks.

Free for shooters. Founding clubs free for life. iOS and Android.

Free for shooters · clubs from $20/yr · founding clubs free for life

Snapshot Scoring match list with upcoming and completed matches
// Scoring matches across
SASS USPSA IDPA 3-Gun Steel Challenge ICORE GSSF Bianchi/NRA Action Pistol PRS/NRL22 PCSL
Built for the line

One app. Every hat you wear.

Most people at a shooting match wear more than one hat. The same shooter who ran the timer last month is competing this month and directing the annual next month. Snapshot Scoring doesn’t make you pick — the same account does all of it, with a capability-based permission model that adapts to whatever you’re doing right now.

🎯

Compete

Follow home clubs, see upcoming matches in a feed, track career stats and classifier progression linked to your SASS / USPSA / IDPA membership numbers (with per-org aliases) on one profile, log practice drills against goals.

Score

Sport-specific UIs (A/C/D zones for USPSA, Points Down for IDPA, 5-string drop-worst for Steel). BLE timer sync with auto-reconnect, haptics, undo, and staleness guard. Permission scoped per-club — or per-stage for volunteers, even offline.

🧭

Manage

Create matches with league + ruleset picker, set per-match requirements (alias, age, equipment, membership), publish QR codes, build squads, invite volunteer scorers, lock + publish. Match Analytics + Operations Dashboard + Score Audit screens give directors a full view.

🙋

Volunteer

Helping score a match at a friend’s club? Director hands you a QR. Scan it. You have scoring access to exactly the stages you’re assigned to — and nothing else. Permissions cache on device so you can score remote bays with no signal. Access auto-expires at match end.

The permission model is capability-based: 12 discrete permissions, 3 system roles (Owner / Match Director / Scorekeeper), plus stage-scoped grants for temporary volunteers. No account sharing. No permanent-member overhead for one-off helpers. Every action is auditable.

Match day, end to end

Every touchpoint, one app.

From the email that announces the match to the leaderboard that ends it, every step runs through Snapshot Scoring — no paper, no Excel, no “wait, who’s handling registrations this time?”

Score a stage in under a minute.

Quick-jump shooter pills. Sport-specific form (A/C/D zones, Points Down, Steel strings). BLE timer flows times straight in — with auto-reconnect when the radio drops and undo for the last shot. Status badges tell you who’s scored, who’s up, and whose score you’re editing — no guessing, no double-entry.

Live stage scoring with shooter pills, BLE-synced time, and miss steppers
📣

Announce

Create the match in 30 seconds — pick league + ruleset from the wizard or pull a saved scoring template, set requirements (alias, age, equipment), and it lands in the Events feed of every shooter following your club and on your public club profile.

📱

Pre-register (QR)

Each match gets its own QR code. Post it in the club email, on your site, at the clubhouse. Shooters scan, fill a mobile form (alias, SASS#, category, notes), and land in your registration queue — ineligible registrations bounce against the match’s requirements.

🚶

Walk-up registration

New shooter shows up on match day? The director taps the walk-up button on the check-in screen. Alias + SASS# + category goes in — auto-approved in one step for managers.

Check-in desk

Live count at the top (“12/45 checked in”), searchable roster, one-tap toggle per shooter. Only checked-in shooters show up in posse setup and scoring — no phantom no-shows.

Waitlist

Cap the match and let overflow handle itself. Sign-ups past the cap join a waitlist; when a spot opens, the next shooter is auto-promoted and notified by email and push — no list to babysit.

👥

Squad & rotate

Auto-balance divides your roster across squads evenly. Auto-rotate assigns each squad its starting stage and computes the rotation schedule. Tweak by hand if you’re particular.

🎟

Invite volunteer scorers

Need help scoring one stage? Generate a QR grant scoped to exactly the stages that volunteer will work. They scan, authenticate, and are ready to score — nothing else unlocked. Grants cache on device so they keep working at remote bays with no signal.

🎯

Score live

Sport-specific scoring forms: USPSA hit factor with A/C/D zones, IDPA Points Down + FTDR, Steel best-4-of-5 strings with drop/cap badges. BLE timer flows times directly in.

🔒

Lock

One tap freezes the match — or bulk-lock all stages atomically. Scores can’t be edited after — audit integrity. Managers can unlock for legitimate corrections; every change is timestamped with an actor and visible on the Score Audit screen.

📤

Publish & email

Overall + per-category leaderboards to WordPress. Awards certificates, PDF, CSV, full audit log export, PractiScore .psc file — everything in one tap. Per-shooter result emails with stage breakdowns sent automatically.

For competitors

Your shooting, on one screen.

Snapshot Scoring isn’t just a tool for the director. The competitor side is a first-class product — your schedule, your scores, your stats, your classifier rank, all linked by every membership number you hold (and every alias). Reasons to open the app between matches.

Settings screen with profile, My QR Code, clubs, and WordPress pairing

One profile. Every membership. Every alias. Your QR on hand.

Hold a SASS number, a USPSA number, and an IDPA number on the same profile — with per-org aliases (your SASS handle is different from your USPSA name, and the app knows that). Scores from each discipline auto-link to the right ID and the right alias. Your Profile Card QR is the fastest way to check in at any club. Clubs you own and follow live in the same place. When you’re ready to publish results to your WordPress site, the pairing code is right there too.

📊

Career stats

Total matches, total stages, clean-match rate, best + average match totals, best stage time. Every number is derived live from your scored matches.

🏅

Classifier tracking

Watch your classifier rank progress across seasons. No manual entry. See your trajectory by sport — USPSA classification, IDPA class, and SASS skill level on one screen.

🗓

Events feed

Matches from clubs you follow land in a feed, sorted by date. Register inline — fields pre-fill from your profile, membership numbers, and category preferences.

🔎

Club discovery

Search public clubs by name or location. See member count, follower count, upcoming matches. One tap to follow; new matches join your feed.

📈

Match history

Every match you’ve shot — auto-linked by the right SASS / USPSA / IDPA number per discipline. Rank, category placement, raw time, misses, clean/MDQ flags, per-stage times. Filter by club, sport, season, or category.

Drill log + goals

Track practice: draws, transitions, reloads, sweeps, stage runs, dry-fire. Set target time + accuracy goals per drill type; the trajectory chart shows progress. Stats card breaks down best + average per drill type, by firearm.

🛠

Equipment slots

Per-shooter slots for firearm, holster, ammo, optics on your profile. Match registration validates your equipment against the match’s requirements before it lets you sign up — no “wait, that’s not legal in this division” on match morning.

🏆

Season standings

Year-to-date leaderboards per club and category, aggregating every match in the season. See how you’re stacking up against your division.

Profile Card QR

Settings → My QR Code. Show it at any club’s check-in desk and they scan you straight onto the squad. Travel matches at a club you’ve never been to? Same flow, no extra registration forms.

For directors

The match-day analytics layer.

Dedicated director screens that turn match-day data into action — not just a CSV. From the moment a match locks, you have the breakdowns you used to compute by hand, plus the audit trail to defend any score change.

📈

Match Analytics

Stage-by-stage breakdowns, per-entry analytics, group analytics, performance trends, segmented standings. See where the time went and which stages broke the field.

🛰

Operations Dashboard

Live match-day view: check-in pace, stage progress, scorer assignments, audit alerts. The director’s air-traffic-control screen.

🧾

Score Audit

Every score edit, every actor, every before/after delta — on one page per match. Filter by shooter, stage, or actor. Defend any score change with one screenshot.

📋

Match duplication

Clone last weekend’s match (stages, requirements, sport, settings) in one tap; new date, same setup. Monthly cadences stop being weekly setup.

🚫

DQ analysis + sport summary

Match participant demographics, structured DQ reasons, sport-data summary across the season. The numbers you bring to a club board meeting.

📤

Audit log + .psc export

Full audit log CSV export for season records, insurance, or sanctioning bodies. Direct PractiScore .psc export so you can hand off to PractiScore.com without leaving Snapshot Scoring.

🔗

Cross-club circuits

Cross-club circuits with aggregate season standings — run a season-long series across multiple clubs, roll up every member club’s results, apply per-match multipliers, and assign circuit-organizer roles.

The loop

Two sides. One flywheel.

The app gets shooters into the door for more reasons than match day. Daily-active competitors drive discoverability for clubs. Easier match-day operations mean clubs can run more matches. More matches means more reasons to open the app.

Daily

Shooters stay active

Between matches, competitors log drill sessions against goals, check classifier progression, browse clubs they haven’t shot yet, and compare career stats across the seasons.

Weekly

Matches land in feeds

Your match drops into the feed of every shooter following your club. Inline pre-fill registration means “interested” turns into “registered” in two taps — and equipment validation catches problems before match day.

Match day

Ready by the time they park

Registered shooters hit the check-in screen. Walk-ups get a one-tap flow. Volunteer scorers scan their QR grant. Director runs squads, scorekeepers run stages. Results published before the awards.

Disciplines

Every action sport. Ten sports, one configurable engine.

Not a generic stopwatch bolted onto a rule set — each sport has its own divisions, penalty rules, built-in rulebook, and its own scoring form built around the way that sport actually scores. Underneath, one configurable engine and eight reusable modules compose every sport, so a new league or a house variant is a config row, not a code change.

USPSAHit Factor
IDPAPoints Down
SASSTime Plus
Steel ChallengeRaw Time
3-GunTime Plus
ICORETime Plus
GSSFTime Plus
Bianchi/NRA Action PistolPoints
PRS/NRL22Points
PCSLHit Factor

Results publish the same way for every sport — per-category leaderboards, awards certificates, CSV, PractiScore .psc, and a one-tap push to your WordPress site.

Match results screen with category leaders and publish actions
7Clubs running
10Matches scored
48Matches on the books
10Sports live
iOS · AndroidPlatforms

10 matches scored · 18 upcoming on the calendar · live from the backend, refreshed every 15 min

In the field

Offline-first, end to end. No internet required.

Match-day networks are a mess, so Snapshot Scoring assumes the worst. Score a whole match with no signal: every tap saves to an encrypted on-device queue, phones at the same match sync to each other over the bay’s Wi-Fi, and everything reconciles to the server the moment you’re back in range. Shot timers, volunteer permissions, and sport rules all work offline too. See the full offline stack →

Built by competitors

Stop running matches on a clipboard.

Free to compete, always; founding clubs that onboard during the beta stay free for life. Pair your site, run a warm-up match this weekend, and decide for yourself. iOS TestFlight + Android Play Store submissions in review — join the beta list and we’ll send install codes the moment each store goes live.