Manage every competition from one place.
Set up events, check registrations, prepare judges, and keep live operations moving.
Quick actions
Continue with the most common admin tasks.
System health
Live service and data status.
Technical details
Native operations are available.
Welcome, Judge.
Your scoring panel, assigned heats, and official results are one tap away.
Welcome, Announcer.
Control what the audience sees and keep the live competition presentation on cue.
Welcome back, Athlete.
Keep up with competition results, season rankings, and your Johor Skate account.
Welcome, Organizer.
Follow competition progress and keep published information close at hand.
Competition updates in one place.
Browse official results, follow season rankings, or create a public Athlete or Judge account.
Run one event from setup to live control
Complete each step in order. Your selected event and category stay active throughout the workflow.
Event setup
Create the event identity first, then continue to categories.
Create Event
| Event | Code | Season | Venue | Start | Status | Action |
|---|---|---|---|---|---|---|
| Loading Firestore events... | ||||||
Add category
Define competition format and progression for each event category.
Add category to selected event
Event categories
| Category | Format | Judges | Runs | Tricks | Duration | Advance QF | Advance Final | Action |
|---|---|---|---|---|---|---|---|---|
| Select an event to view categories. | ||||||||
Judge setup
Select a category and fill the exact number of judge slots configured for it.
Category judge panel
Slot 1 is the Head Judge. Other slots are Scoring Judges. Weighting must total 100% unless five-judge drop high/low is enabled.
| Position | Judge | Role | Weight |
|---|---|---|---|
| Select a category to configure its judge panel. | |||
Registration
Add participants, verify payment, set JSRP ranking eligibility and complete check-in.
| Participant | Bib | Organization | Status | Payment | JSRP ranking eligibility | Heat | Order | Action |
|---|---|---|---|---|---|---|---|---|
| Select a Firebase event. | ||||||||
Start List & heats
Auto-generate heats or edit every participant's heat and order manually before saving.
Event start list
Participants remain grouped by category. Select Manual / Edit to change heat and order.
| Category | Stage | Participant | Bib | Check-in | Heat | Order |
|---|---|---|---|---|---|---|
| Select an event to view its roster. | ||||||
Competition operations
Open the dedicated screen for each venue role. All screens share the same realtime heat.
Timer Control
Prepare the heat, run the official clock and publish results.
Judge Panel
See only the current athlete and submit a locked score.
Announcer Console
Follow now, next and the full running order without timer controls.
Live Display
Large-format athlete, timer and next-up display for the venue screen.
Timer Control
One focused console for heat setup, clock control and official publishing.
Competition run
Judge Panel
The running heat is selected automatically. Verify the athlete, enter one score and lock it.
WAITING
BIB —Scoring table
Current heat roster and your locked score.
| # | Athlete | BIB | Attempt | My score |
|---|---|---|---|---|
| Waiting for Start Heat. | ||||
Score active athlete
Drag the slider or use ±0.1, then verify the exact number before locking.
Waiting for live attempt
The score controls will appear when the timer operator starts an attempt.
My recent scores
Only scores locked by this judge.
| Category | Heat | Athlete | BIB | Attempt | Score | Time |
|---|---|---|---|---|---|---|
| No locked scores yet. | ||||||
Announcer Console
Read-only running order and live athlete context; official clock controls remain with the operator.
On microphone
READY
—Public results
Published competition results are available without signing in.
| Event | Category / Stage | Position | Athlete | Organization | Official score |
|---|---|---|---|---|---|
| No Firestore results snapshot yet. | |||||
Official rankings
Configure category eligibility and point table, resolve participant eligibility, then submit once.
Submit category ranking
| Rank | Athlete | Organization | Category | Points | Events | Season |
|---|---|---|---|---|---|---|
| Loading Firestore rankings... | ||||||
Master Data
Super Admin can manage migrated records directly in Firestore without opening Apps Script.
| Master data |
|---|
| Select a Firestore data type. |
My profile
Sign in with an existing Johor Skate username or a verified Google identity.
Link existing Johor Skate account
Use this once when your Google email differs from the email registered in Johor Skate.
Migration status
Each write path moves only after atomicity, role and UI tests pass.