Features

Every match-day touchpoint. Every competitor action. Zero paper.

Twelve sports, one app, from sign-up sheet to published results — and everything below is live in the current build, not a roadmap. Score whether you have full LTE, the bay’s flaky Wi-Fi, or nothing at all, then publish to your club site with a free WordPress plugin.

When you’re running a match

From sign-up sheet to scoresheet

Every match-day touchpoint — how shooters sign up, how they check in, how they get assigned to squads, how scores get locked — runs through a single app. No clipboard. No paper. No “wait, who’s in posse 3?”

▸ QR registration

One code, unlimited pre-registrations

Each match generates its own QR code. Post it to your club email, website, or clubhouse bulletin. Shooters scan, fill a mobile-friendly form, land in your queue.

▸ Walk-up flow

Day-of registration in two taps

New shooter shows up unannounced? The director hits the walk-up button, fills alias + SASS# + category. Auto-approved in one step for managers.

▸ Check-in desk

Live roster, live count

“12/45 checked in” live at the top. Searchable by alias or SASS#. Not-checked-in entries float to the top. One-tap toggle per shooter. Batch check-in button clears the whole queue at once.

▸ Waitlist

Auto-promote when a spot opens

When a match hits its cap, new sign-ups join a waitlist with their position shown. The instant someone drops, the next shooter is promoted automatically and notified by email and push — no list juggling at the desk.

▸ Squad builder

Auto-balance & auto-rotate

Auto-balance distributes checked-in shooters evenly across squads. Auto-rotate assigns each squad its starting stage and computes the rotation schedule per squad. Batch-assignment tools for when you’re handling 60+ shooters.

▸ Posse vs Squad

Sport-correct vocabulary

Same workflow, correct word for the discipline. SASS matches call them posses, USPSA / IDPA call them squads — the app uses the right term everywhere based on the sport picked for the match.

▸ Filtered scoring

Checked-in only on the scoring grid

Shooters who haven’t checked in don’t appear in squad setup or scoring screens. No-shows don’t clutter the line.

▸ Match Info screen

Requirements, equipment, notes

Dedicated screen surfaces match requirements, equipment constraints, dress code, and director notes for shooters at registration time. Replaces the inline-modal pattern that didn’t scale to multi-day matches.

▸ Match duplication

Recurring matches in one tap

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

▸ Scoring templates

Save a config, reuse it

Save a match’s full scoring setup — penalties, divisions, enforcement toggles — as a named club template, then spin up the next match from it in a tap. Stop re-entering the same rules every weekend.

▸ Lock & bulk-lock

Atomic score lock

One tap freezes a stage. Bulk-lock all stages atomically when the match is done. Scores can’t be edited; squads can’t be moved. Every change timestamped with an actor.

At a glance

Every match your club has run, at a glance.

Upcoming match at the top with a prominent “Score Stage 1” CTA. Completed matches show 100% scoring progress with a lock icon. Scoring status bar tells you what’s live, what’s done, and what’s still waiting.

Snapshot Scoring match list with three monthly matches and progress bars
Equipment & requirements

Catch problems before match day

The equipment system, match-level requirement toggles, and DOB-derived age checks turn registration into a gate. Ineligible entries are refused at sign-up with the rule that failed, so the shooter can fix their gear before match day. Match directors stop saying “sorry, your firearm isn’t legal in this division” on Saturday morning.

▸ Equipment slots

Per-shooter profile

Each shooter has equipment slots on their profile — firearm, holster, ammo, optics. Updated once on the profile, validated against every match they sign up for.

▸ Loadouts (Gear Bag)

Pre-built kits per division

Save a full equipment set — firearm, holster, ammo, optics — as a named loadout per division. At registration it’s a one-tap pull instead of a dig through the range bag, and the slots validate against the match’s constraints automatically.

▸ Match constraints

Per-match equipment rules

Directors set the allowed weapon types and caliber patterns per match. The constraint set is part of the match definition; duplicating a match carries them forward.

▸ Validation at signup

Block ineligible registrations

On registration, the app validates the shooter’s equipment slots against the match’s constraints. Failures show the specific failed rule, so the shooter can update their slots and re-submit before match day.

▸ Requirement toggles

Per-match enforcement

Six per-match toggles: alias, date of birth on file, minimum age, maximum age, weapon type, and caliber. Each toggle is independent — set the policy that fits the match.

▸ Age from DOB

Age minimums computed live

Shooters store DOB once on their profile. Match directors set an age minimum on the match. The app blocks under-age registrations automatically — no manual ID checks at the desk.

Director power tools

The match-day analytics layer

Seven director tools 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 / entry / group breakdowns

Stage-by-stage analytics, per-entry analytics, group analytics, performance trends, segmented standings. See where the time went, which stages broke the field, and how this match compared to last month’s.

▸ Operations Dashboard

Live match-day air-traffic-control

Director-side live view of check-in pace, stage progress, scorer assignments, audit alerts, and equipment-validation queue. The single screen the director keeps open all day.

▸ Score Audit

Every edit, every actor, one page

Every score edit, unlock, and ownership transfer lands in an append-only log with actor, timestamp, and before/after delta; the per-match Score Audit screen shows the trail, filterable by entry, stage, user, action, and date. Defend any score change with one screenshot.

▸ DQ analysis

Structured DQ reasons

DQs are recorded with structured reasons (Cold Range, Unsafe Handling, 180 Violation, etc.) — not free-form notes. Match Analytics shows DQ rate per stage, per category, per season.

▸ Demographics + sport summary

Match participant breakdown

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

▸ Bulk score lock

Atomic stage lock

Lock all stages atomically when the match is done — no need to walk stage by stage. Audit log captures the bulk-lock as a single event with the actor.

▸ Roster import

Bring your roster in bulk

CSV roster import for shooters, useful when moving a club over from another scoring app. Score import exists as a JSON endpoint on the API for migrations we help with; there is no CSV score import in the app.

When you’re scoring

At the bay

Where Snapshot Scoring earns its keep — built specifically for outdoor range conditions, gloved hands, and the chaos of an active stage. Anyone you add to the club as a Scorekeeper gets the same tools, and they keep working at remote bays without signal.

▸ UI

Outdoor-readable layout

High-contrast layouts with oversized stage cards. Readable in direct sun without holding the phone at a weird angle.

▸ Shooter pills

Color-coded status bar

Horizontal shooter pills at the top of every scoring screen. Unseen (gray) → in-progress (yellow) → scored (green) → locked (red). Tap any pill to jump to that shooter; auto-scrolls into view on select.

▸ USPSA form

Hit-factor scoring UI

A/C/D zone counters with ± buttons. No-shoots and miss fields. Major/minor power-factor toggle that recalculates zone values live. Hit factor shown in real time as you tap.

▸ IDPA form

Points-down UI

Raw time + points-down counter + procedurals + FTDR + Hit-on-Non-Threat. Each field shows its time penalty preview inline — “+3s” next to procedurals, “+30s” next to FTDR.

▸ Steel form

5-string drop-worst UI

Five string inputs in milliseconds, auto-formatted to X.XX seconds. Worst-string auto-marked DROPPED. Anything over 30s tagged MAX. Final time updates as you enter.

▸ BLE timer

Auto-reconnect + haptics + undo

Pairs with AMG Commander, Shooters Global SG Timer, and Special Pie M1A2. Stage times land directly in the scoring screen. Auto-reconnects when the radio drops, haptic feedback on shot detection, undo for the last shot, staleness guard prevents stale readings from being applied to the wrong shooter.

Live stage scoring with shooter pills, BLE-synced time, and miss steppers
At the bay

Score a stage in under a minute.

Editing a previously-saved score? The banner tells you before you overwrite. Sport-specific form below. BLE-synced time at the top with auto-reconnect. Miss steppers with “+5s each” preview next to them. Save & Next opens a shooter picker so you can jump directly to the next shooter — no accidental stage change.

Offline-first

Four independent offline mechanisms

Match-day networks are a mess. Snapshot Scoring assumes that and ships a sync stack with four independent mechanisms layered together — every device current whether you have full LTE, the bay’s flaky Wi-Fi, or nothing at all. Each mechanism does one job; together they cover the rest.

▸ 14-day mutation queue

5,000 ops, obfuscated at rest

Every score, registration, check-in, and lock saves to device storage first. 5,000-operation capacity sized for a 200-entry × 10-stage match × 2 ops/score. 14-day retention for multi-day events. Payloads obfuscated at rest with a key in the device Keychain (iOS) / Keystore (Android). Built to survive concurrent edits, and retries failed saves automatically — up to 10 attempts per operation.

▸ Background sync

Foreground / background reconciliation

Auto-syncs when the app returns to foreground, then on a five-minute interval while it stays open. Failed syncs retry on exponential backoff, capped at five minutes apart. Settings → Sync & Offline shows network state, last sync, and the pending queue broken down by type, with Force Sync and Clear Queue. There are no user-facing sync toggles today.

▸ NFC tap-to-transfer

NDEF tags, score bundles

NDEF tags up to 8 KB, written with a private MIME type so other apps don’t intercept them. The match Transfer screen sends and receives a match’s score bundle by tap. The tag format also defines shooter, match, stage and club payloads; nothing in the app reads those yet.

▸ QR transfer codec

12 transfer types, chunked

Compact QR (~2.9 KB chunked, JSON-with-version-prefix): SCORE / SHOOTER / SHOOTERS / MATCH / STAGE / STAGES / ENTRY / ENTRIES / GROUP / GROUPS / CLUB / BUNDLE. Transfer a full match, a single stage, a roster, or a single shooter — chunked automatically when the payload exceeds one QR.

▸ Embedded scoring defaults

Score offline immediately on install

Sport rules cached on device at install time. A freshly-installed phone can score offline immediately — no first-load round-trip, no “please connect to download rulesets.”

▸ Cached permissions

Cached perms for remote bays

Club roles and their permissions persist on device. A scorekeeper signs in with signal, walks to a remote bay with none, and keeps scoring. A persistent banner reminds them they’re on cached perms.

▸ Conflict handling

Replay in order on reconnect

When a phone returns to signal, queued ops replay in order. If the server already holds a newer score for the same entry, you are shown both and choose which to keep. Ops are dropped only after 10 retry attempts, with an explicit alert so you know nothing was silently lost.

When the match ends

Results everywhere at once

The whole point of match day is the scoreboard. Snapshot Scoring puts it in every follower’s feed, in every competitor’s match history, in an email to every shooter, and on print-ready awards certificates — and on your own club website once the plugin is connected.

▸ Club site

WordPress publishing

Free publishing plugin for any WordPress club site. Connect once with OAuth 2.0 PKCE (nothing to paste out of a settings screen). Press Sync Now in WP admin after you lock a match — or turn on Auto-Push and it publishes itself — and it lands as custom post types with overall + per-division leaderboards; styled club + match pages work out of the box. Full setup steps are in the publishing guide.

▸ Multi-site

Many clubs, one account

Connect multiple WordPress sites from one director account. Per-site connection status, per-site OAuth tokens. Run results for two clubs from the same phone — or help a neighboring club without sharing accounts.

▸ Follower feeds

In the app, automatically

Every follower of your club sees the match in their Events feed. Their match history updates if they shot it. Their career stats and classifier rank recalculate. Zero action required.

▸ Email results

Per-shooter breakdowns

One tap emails each shooter their own results — per-stage breakdown, match total, category rank, clean-match flag. Nobody asks “where do I see my scores?”

▸ Bulk email

Reach the whole field at once

Message every participant of a match, or every member of the club, in one send — schedule changes, results-are-up notices, next-match reminders. Straight from the director tools, no separate mailing list.

▸ PDF + CSV + audit

Multiple export formats

PDF, CSV, and Awards are the three export buttons on the Results screen — clean PDF results (landscape letter, repeating headers), raw CSV, and print-ready certificates, each handed over as a short-lived signed download URL. A JSON match export exists on the API for third-party integrations; it is not one of the in-app buttons.

▸ Awards certs

Print-ready top-3 per category

Generate awards certificates in PDF — one page per top-3-per-category, landscape format, leather + brass design. Print Sunday afternoon for the awards ceremony.

▸ Public match page

Shareable, SEO-friendly

Locked matches at public clubs get a public results URL — shooters can link their category placement to anyone, indexed by search engines, no login required.

After the match

One screen, every output.

36/36 scored, six shooters, six stages, zero clean. PDF, CSV, Awards and Email are one-press final actions off this screen. By-category leaderboards with SASS# and per-stage drill-down. Certificates printed before the awards ceremony starts.

Match results screen with category leaders and export actions
When you’re competing

Your shooting, tracked

Every match you’ve shot, every drill you’ve run, every division you compete in — aggregated, searchable, and attached to every membership number you hold across every club that uses the app. Plus classifier progression so you can see your rank trajectory across seasons.

Shooters don’t need you to adopt anything first. The practice log, equipment and loadouts, and club discovery all work on a free account today — create one at app.snapshotscoring.com/register. The scoring history above is the part that needs a club. What shooters get free.

▸ Career stats

Career dashboard

Total matches, total stages, clean-match rate, avg / best / worst match total, best stage time. Numbers are live from your actual scored matches — no manual entry.

▸ Classifier tracking

Rank progression across seasons

Watch your USPSA classification, IDPA class, or SASS skill level progress across seasons. Pulled live from scored matches; no manual entry. See trajectory by sport on one screen.

▸ Match history

Multi-org auto-link + alias

Hold SASS, USPSA, and IDPA numbers on the same profile, with per-org aliases. Scores from each discipline auto-link to the right ID and the right alias — including matches shot at other clubs before you signed up for the app. Travel shooter in three disciplines? One profile, not three.

▸ Per-match detail

Stage times, placements, misses

Drill into any match — stage-by-stage times, hit factor, points down, category placement, overall finish, clean/MDQ flags. Email the full results PDF in one tap.

▸ Drill log + goals

Practice tracking with targets

Log draws, transitions, reloads, sweeps, stage runs, dry-fire sessions — with firearm, time, location, and notes. Set target time + accuracy goals per drill type; trajectory chart shows progress. Best + average per drill type.

▸ Standings

Year-to-date leaderboards

Season standings per club, per category. See your rank, total match time, clean count across every match in the season.

▸ Equipment slots

One profile, every match

Per-shooter equipment slots (firearm, holster, ammo, optics) on the profile. Match registration validates against per-match constraints automatically.

▸ Account

Verified email & password reset

Real account management. Verify your email at signup, reset your password via 6-digit code if you forget it.

Scan anywhere

Profile Card QR — one code, every touchpoint

Unified QR codes for users, clubs, and matches. The same minimal TYPE:ID format means the same scan does different things depending on where you scan it — check in, enroll, register, follow a club. No external barcode app needed.

▸ Your shooter QR

Check in with a scan

Settings → My QR Code. Your personal card is on screen — show it at any club’s check-in desk and they scan you straight onto the squad. Travel to a match at a club you’ve never been to? Same flow, no extra registration forms.

▸ Club QR

Shareable club card

From Club Settings, directors get a QR for the club itself. Post it next to the entrance; shooters who scan it land on the public profile ready to follow.

▸ Match QR

Two taps to register

Each match has its own QR. Scan → pre-filled registration form with your profile info, SASS#, per-org alias, and category already populated.

▸ Context-aware

Same scan, different action

Scan a shooter’s Profile QR on the Check-In screen → check them in. Scan it on the Posse Setup screen → enroll them. Scan it on a public club profile → follow the club.

▸ NFC tap

Tap a programmed tag

Same five payload types as QR (shooter, match, stage, club, scores) on NFC NDEF tags up to 8 KB.

Discovery & growth

The loop that grows your club

Every feature on the competitor side also does double duty as marketing for your club. Followers see your matches. Searchers find your profile. Inline registration closes the loop from “saw it” to “signed up.”

▸ Search

Find clubs

Search public clubs by name, abbreviation, or location. See member count, follower count, upcoming matches.

▸ Public profile

Every club, its own page

Name, location, description, website, member + follower counts, next 10 matches.

▸ Follow button

One tap to subscribe

Shooters tap “Follow” on a club profile. Your matches now land in their Events feed as soon as you create them.

▸ Events feed

Your matches, in their app

Every match you create appears in the Events feed of every follower, sorted by date with registration CTA inline.

▸ Inline registration

See a match → register → done

Interested shooters register from the feed without leaving it. Profile info + member numbers + per-org alias + category pre-fill themselves.

▸ iCal feed

Calendar subscriptions

Every public club exposes an iCal feed (RFC 5545). Shooters subscribe in Apple Calendar, Google Calendar, or Outlook.

Cross-club circuits

Run a season across multiple clubs

Link clubs together into a season-long series. Shared circuit seasons aggregate every member club’s results into one standings table, with configurable per-match multipliers and a circuit-organizer role that is separate from club roles.

▸ Circuit seasons

One series, many clubs

Create a circuit season and link member clubs into it. Each club keeps running its own matches; the circuit ties them into a shared series.

▸ Aggregate standings

Roll up every member club

Circuit standings aggregate results from every member club’s matches into one leaderboard, so competitors see where they stand across the whole series.

▸ Per-match multipliers

Weight the majors

Configure per-match multipliers so a season major counts for more than a club night when the circuit standings are computed.

▸ Circuit-organizer roles

Separate from club roles

A circuit-organizer role, distinct from club roles, manages the series, its member clubs, and its standings without touching individual club administration.

Disciplines

Twelve sports. One configurable engine. Eight composable modules.

Real per-sport scoring, not a generic tally with a label on it. Each discipline has its own scoring method, division set, and penalty model. Every sport’s scoring form is driven by its ruleset, so the fields you see are the ones that sport scores with, and a new ruleset is a config change rather than a code release. Underneath, eight reusable scoring modules (time_plus, hit_factor, points_down, raw_time, drop_worst, power_factor, bonus_targets, detailed_misses) compose every engine — so a new league year or a house variant is a config row, not a code change. Match directors pick the league + ruleset per match in the match-creation wizard, with Club Defaults pre-selected.

SASS · Time Plus

Cowboy Action Shooting

43 official SASS category codes seeded from the 2024 handbook (Buckaroo through La Reina, plus all duelist, gunfighter, costume, and Frontier Cartridge variants). Time Plus scoring with misses (+5s), procedurals (+10s), and spirit-of-the-game penalties (+30s).

USPSA · Hit Factor

Practical Pistol

Full USPSA divisions with hit-factor scoring. A/C/D zone counters, no-shoots, misses, procedurals, and a major/minor power-factor toggle that recalculates points live.

IDPA · Points Down

Defensive Pistol

IDPA divisions with points-down scoring. Raw time + points down (1s each) + procedurals (3s) + FTDR (30s) + Hit-on-Non-Threat (5s).

3-Gun · Time Plus

Multi-gun

Time Plus scoring across pistol, rifle, and shotgun stages. Per-firearm miss tracking, MOA penalties, firearm-specific round counts and division rules.

Steel · Raw Time

Steel Challenge

SCSA-style speed shooting. Five strings per stage, drop-worst auto-marked, 30s string max auto-capped. Final time computed live.

ICORE · Time Plus

Revolver

International Confederation of Revolver Enthusiasts. Time Plus scoring with ICORE divisions and penalty model.

GSSF · Time Plus

Glock Sport Shooting

GSSF-style scoring. Time Plus with GSSF divisions and category structure.

Bianchi/NRA Action Pistol · Points

Action Pistol

NRA Action Pistol / Bianchi Cup. Points scoring across the practical, barricade, falling-plate, and mover events.

PRS/NRL22 · Points

Precision Rifle

Precision Rifle Series and NRL22. Points scoring with stage-based precision-rifle formats.

PCSL · Hit Factor

Practical Carbine

Practical Competition Shooting League. Hit Factor scoring with PCSL divisions.

+ Any ruleset

Config, not code

As of April 2026, adding a new league year or a house variant is a config task, not a code release. Email clubs@snapshotscoring.com.

Permissions & RBAC

Capability-based access control

Permissions follow the role — not the person. A capability model with twelve discrete permissions and three system roles.

▸ 12 permissions

Discrete, auditable capabilities

manage_club · manage_members · manage_matches · manage_stages · manage_groups · manage_entries · score_matches · delete_scores · view_scores · manage_shooters · export_data · check_in. Each is individually grantable, auditable, and revocable.

▸ 3 system roles

Owner · Match Director · Scorekeeper

System-immutable bundles of permissions. Owners get everything; Match Directors get everything except club/member management; Scorekeepers get score_matches + view_scores + check_in only.

▸ Add staff

Bring in a second scorer

From the club’s member settings, add an existing Snapshot username as staff and pick Scorekeeper or Match Director. They score from their own device, with no shared account.

▸ Ownership transfer

Clean handoff, full audit

Explicit ownership transfer flow with audit log. No shared admin passwords.

Platform

Under the hood

The boring-but-important stuff that makes the whole system reliable across devices, networks, and seasons.

▸ Platforms

iOS & Android

Native React Native build for both platforms. Same data model, same UI, same scoring engines.

▸ Auth

JWT with auto-refresh

Token-based authentication with automatic refresh. Sign in once, stay signed in. Capability checks on every mutation.

▸ Push notifications

Approval, rejection, waitlist promotion

Real push notifications on iOS and Android fire on the registration events that matter — approved, rejected, or promoted off the waitlist. FCM + APNs managed server-side with auto-deactivation of dead tokens.

▸ WordPress plugin

OAuth 2.0 + multi-site

Free GPL plugin (snapshot-results) connects via OAuth 2.0 PKCE, so there are no API keys to manage. Connect multiple WordPress sites from one director account, each with its own tokens and connection status.

▸ Audit trail

Every mutation timestamped

Score edits, unlocks, ownership transfers, staff admin actions — all captured with actor + timestamp + before/after deltas.

Create your free account → For clubs: claim founding status

Ready when you are

Bring it to your next match.

No setup fee, no per-shooter fees. $20 a year per club with a 14-day refund; shooters free. See pricing.

FAQ

Questions about the feature list.

How does scoring work offline?

Four independent mechanisms. (1) 14-day local mutation queue with 5,000-operation capacity; payloads are obfuscated in app storage with a rotation key held in the device Keychain or Keystore, so scores and shooter details cannot be read casually out of storage. (2) Background sync when the app returns to the foreground and on a five-minute interval, with failed syncs retrying on exponential backoff capped at five minutes. (3) NFC tap-to-transfer of a match’s score bundle on NDEF tags up to 8 KB. (4) QR transfer codec across 12 payload types, chunked for larger data. Sport rules and club role permissions are also cached on device.

How long does the offline queue retain operations?

14 days. The local mutation queue holds up to 5,000 operations with retry-with-exponential-backoff up to 10 attempts per operation. Payloads are obfuscated at rest with a key in the device Keychain (iOS) or Keystore (Android).

How do we add a second scorer?

Add the person to the club as a Scorekeeper: Club Settings, Manage Members, Add Staff, enter their Snapshot username, choose Scorekeeper. They need a Snapshot account first, because the invite is by username. Scorekeepers get score_matches, view_scores, and check_in, and they score from their own device with no shared account.

Does this replace PractiScore?

For action shooting clubs that want an integrated stack at a flat $20 a year, yes. Snapshot Scoring covers QR pre-registration, walk-ups, live check-in, squad-building, ruleset-driven scoring forms, BLE timer integration, capability-based RBAC with 12 permissions and 3 system roles, equipment validation, classifier tracking, multi-org membership IDs with per-org aliases, configurable rulesets, director-side analytics, match duplication, and CSV roster import, at a flat yearly price for clubs (free for competitors). It also ships a free WordPress publishing plugin (snapshot-results) that connects with OAuth 2.0 PKCE, so there are no copy-paste API keys.

What sports are supported?

All twelve are fully production-ready, on fourteen scoring presets: SASS (Time Plus), Wild Bunch (Time Plus), USPSA (Hit Factor, with Virginia Count), IPSC (Hit Factor, with fixed-time stages), IDPA (Points Down), PCSL (Hit Factor), 3-Gun (Time Plus per-firearm), Steel Challenge (Raw Time), ICORE (Time Plus), GSSF (Time Plus), Bianchi/NRA Action Pistol (Points), and PRS/NRL22 (Points).

What does the equipment system check?

Each shooter records gear on their profile: firearms (pistol, revolver, rifle, shotgun, PCC) with action type, caliber and optic, plus holster, belt or rig, magazine pouch and shell caddy. A director sets the match’s allowed weapon types and caliber patterns and turns each one on as a hard requirement. With a requirement on, enrolling a shooter whose equipment does not match it is refused; with it off the value is informational and entry goes through.

Can directors set match-level requirements?

Yes. Match Info has an Entry Requirements section with six per-match toggles: alias, date of birth on file, minimum age, maximum age, weapon type, and caliber. Age is computed from date of birth against the match date. There is no membership-validity toggle.

Can Snapshot Scoring read or write PractiScore .psc files?

Not today. PractiScore .psc import and export are not available. A locked match exports as CSV, PDF, or awards certificates from the app’s Results screen if you need the data in another form.

Is there a cost for clubs?

Competitors are always free. A club seat is $20/year; a circuit-host seat is $120/year and covers one circuit plus eight clubs, on sale now on this site. Founding status is open until the iPhone app is on the App Store: run a match with us before then and your club is free for life. No setup fee, no per-match fee, no per-shooter fee. The WordPress plugin remains free and GPL-licensed. See our Pricing page.