SCORE
KEEPER
ios_share
cloud_sync
{{ !hasCreds ? 'NO SYNC' : syncing ? 'SYNC…' : syncError ? 'ERR' : 'LIVE' }}
⚠ No sync credentials
Go to Setup tab to configure your JSONBin, or open with
?bin=ID&key=KEY
New Session
+ Start New Game
Game Name
Score Unit
Level
Round
Hand
Starting #
Low score wins
Leaderboard sorts lowest first
Create
Cancel
Active Games
{{ g.name }}
LIVE
group
{{ g.players.length }}
{{ g.unitLabel || 'Level' }} {{ currentUnit(g) }}
{{ g.lastPlayed }}
Low wins
Archive
Delete
Archived
{{ g.name }}
ARCHIVED
group
{{ g.players.length }}
{{ g.lastPlayed }}
Reopen
Delete
sports_esports
No games yet
Start a new game above to track scores in real time.
{{ activeGame.name }}
{{ activeGame.unitLabel || 'Level' }} {{ currentUnit(activeGame) }} · {{ activeGame.players.length }} players
Low wins
arrow_back
Back
Leaderboard
Match Log
person_add
No players yet
Tap Players tab to add participants.
{{ i+1 }}
{{ p.name }}
{{ activeGame.unitLabel || 'Level' }} {{ p.level || 1 }}
{{ calcScore(p.name) }}
history
No scores logged
Tap a player on the leaderboard to enter a score.
{{ activeGame.unitLabel || 'Level' }} {{ lvlGroup.level }}
{{ pGroup.name }}
Total {{ pGroup.total >= 0 ? '+' : '' }}{{ pGroup.total }}
{{ e.note || '—' }}
{{ e.points>0?'+':'' }}{{ e.points }}
{{ formatTime(e.timestamp) }}
person_add
Players
arrow_back
Back
Global Roster
No players in roster yet.
{{ p }}
check
close
Register New Player
Add
In This Game
{{ p.name }}
{{ activeGame.unitLabel || 'Lvl' }} {{ p.level || 1 }}
{{ calcScore(p.name) }}
person_remove
Timer
{{ timerDisplay }}
{{ timerRunning ? 'pause' : 'play_arrow' }}
restart_alt
{{ currentPreset }}s — tap to change
Buzzer
notifications_active
BUZZ!
Tap to sound buzzer
Buzzer Style
{{ s.label }}
Setup
Active JSONBin
Current Bin
CONNECTED
NOT SET
{{ activeBinId || 'No bin configured' }}
Switch Bin
Connect Bin
Create New Bin
Creates a fresh bin in JSONBin.io and switches to it. Your current Access Key is required.
{{ creatingBin ? 'Creating…' : '+ Create New Bin' }}
{{ newBinMsg }}
Sync Rate
How often to auto-sync when a game is active (seconds)
seconds (current: {{ syncRate }}s)
Save
Share URL with Credentials
{{ shareUrl }}
content_copy
{{ copyMsg || 'Copy URL' }}
{{ activeGame.name }}
{{ activeGame.unitLabel || 'Level' }} {{ currentUnit(activeGame) }}
close_fullscreen
Close
{{ i+1 }}
{{ p.name }}
{{ activeGame.unitLabel || 'Level' }} {{ p.level||1 }}
{{ calcScore(p.name) }}
Timer
close
Close
{{ timerDisplay }}
{{ timerRunning ? 'pause' : 'play_arrow' }}
restart_alt
{{ currentPreset }}s — tap to change
{{ scoreModal.name }}
{{ activeGame.unitLabel || 'Level' }} {{ entryLevel }} · Total: {{ calcScore(scoreModal.name) }} pts
{{ entryDisplay || '0' }}
{{ activeGame.unitLabel || 'Level' }} {{ entryLevel }}
{{ k }}
±
0
backspace
{{ activeGame.unitLabel||'Lvl' }} −
{{ activeGame.unitLabel||'Lvl' }} +
CLR
Cancel
Submit
Share Scorekeeper
Includes your sync credentials so others join the same session.
{{ shareUrl }}
sms
Messages
mail
Email
content_copy
Copy Link
Close
home
Home
leaderboard
Scores
group
Players
timer
Timer
notifications_active
Buzzer
cast
Display
settings
Setup