Preflight checklists
Organizer and timer steps for any meet. Print this page or keep it on a phone. Optional meet id loads Live links for that meet.
Pick one push path for race 1. Mixing later is fine. First meet: Path A. On-site timing (FinishLynx / Meet Manager / the timer company's own system) stays primary; NRCD Live is a separate fan/club feed you hook up beside it.
No install
A · Manual upload
Live crew signs in and uploads each .lif. No Python. No token on the laptop.
Auto after setup
B · Folder watch
Windows .bat or macOS/Linux .command watches the FinishLynx LIF folder. Needs Python + ingest token after host setup.
Custom software
C · Live Timer API
Your software POSTs JSON or LIF with a Bearer token. Not browser upload. Not the agent script.
Why automatic is not available right away
B and D only push marks once the timing laptop runs the agent with the meet token. Host must enable Live, assign bibs, and share the token first. Until then, use A.
D · Meet Manager (FTP / publish)
Agent --ftp-port 2121 + HyTek FTP to this laptop (F11/F12), or export to disk.
Use when MM is your results source; A/B remain the FinishLynx heat-by-heat paths.
See Path D.
Path C is different
A uses an NRCD login. B is NRCD's Python folder watcher (Windows .bat or macOS/Linux .command). C is any client that speaks HTTP: Meet Manager plugin, custom script, another timer stack. B happens to call the same API as C; you can skip B entirely.
Preflight checklists
Organizer and timer go through these in order (account login, deadlines, scratches, seeding, Live handoff, finals). Path how-tos and the 60s dry run are below.
Meet organizer
Host preflight
Work top to bottom from the meet's Host home.
Easiest Live path for a first FinishLynx meet: enable Live -> assign bibs -> add Live crew -> they upload each .lif in the browser (Path A).
The Live page Preflight panel shows Live on / bibs / crew status.
1 · Account and meet
- Sign in with Google. Claim the host club (Personal Pro) if you have not yet.
- List the meet (or open it) -> Host home.
- Edit listing: name, dates, timezone, packet link. Set Event order / Schedule (order, start times, lanes/max, grade limits). Add finals display slots after prelims when you need them on the board.
- Enable roster registration. Set registration deadline and scratch deadline (date, time, timezone).
- Leave temporary teams / unattached off unless visitors without a claimed club must self-enter.
2 · While registration is open
- Share the Register link with visiting clubs (see how to register).
- Watch Entries as clubs enter seeds and relays. Hosts can also enter for a club from Register.
- Remind clubs: new entries stop at the reg deadline; team scratches stay open until the scratch deadline.
3 · After entries / before race day
- Download entries CSV for the timing crew (seeds, status, bibs when assigned).
- Seed heats in Meet Manager and/or on NRCD Entries (Seed heats / Reseed marks / Clear heats). Use meet track lanes and per-event max. If the timer seeds in MM/Lynx, they can push heat/lane back via Live desk Import heats after bibs are assigned.
- Mark Seed heats later for events held until check-in (often the 200); seed those when scratches settle.
- Check-in needs heats first (unless you turn on "allow check-in without heats" on the desk). Print or download heat sheets after seeding.
- On NRCD Live: assign bibs (or auto-assign). Re-download CSV so MM/Lynx competitor numbers match.
- Optional for Paths B/C: seed FinishLynx event-number maps from the schedule.
4 · Night before / morning of (Live handoff)
- Enable NRCD Live. Confirm green Preflight ready (red rows have Fix links).
- Path A (usual): add Live crew by email (timer and/or field judge), or tell them to Request to be timer when no crew exists yet. Confirm a pending request before fans should see Live.
- Paths B / C / D only: copy the ingest token while it is shown (one-time), download agent + starter for B/D, and send meet id + token (+ API link for C). Rotating the token later kills the old one - update the laptop if you rotate.
- Text the timer the Live URL, Timer home, and preflight checklists.
- Plan meet-day Check-in desk / clerk (desk scratches still work after the team scratch deadline).
5 · During the meet
- Run check-in / desk scratches; refresh heat sheets if seeds change.
- When ready, Seed heats for any seed-later events.
- After prelims: confirm finals on the schedule; timer advances (track Timer desk Prelim -> finals; field pad Take to finals / Start finals).
- Field marks: crew uses the field entry pad (LJ/TJ/throws/HJ/PV), not only .lif upload.
6 · After the meet
- From Host home / Meet director: Promote compiled Live marks (or download results CSV), or use Add Results if Live was not used.
- Disable Live when the day is done.
Timer / Live crew
Timer preflight
Host must Enable Live and assign bibs first. Easiest path: sign in as Live crew ->
Timer home -> Live desk -> upload each FinishLynx .lif (Path A).
Pick only one automatic path (B/C/D) if the host set that up.
1 · Account and access
- Create or sign in with Google using the email the host will add as Live crew (or the email you will use to request access).
- Open the meet (host text or Upcoming meets) -> Timer home or Live page. If no crew exists yet, click Request to be timer (provisional until the host confirms; then fans see Live).
- Confirm you can open Live desk (upload) and, if you judge field, field entry pad.
2 · Timing computer (path you are using)
- A · Manual upload: signed-in Live ops only - no Python, no token on the laptop.
-
B · Folder watch: from Timer home or Live desk, open
Download agent files - get
nrcd_live_agent.py+ Windows.bator macOS.command(paste the host's ingest token). Need Python 3.9+? Easy install: python.org/downloads. Put both files in one folder; run starter; point at the FinishLynx LIF folder; leave the window open all meet. - C · Timer API: meet id + Bearer token; your software POSTs to
/api/live/<id>/ingest. -
D · Meet Manager: same downloads as B; leave LIF blank and set FTP
2121(or MM export folder), or Live ops HyTek upload. Not a substitute for FinishLynx heat-by-heat FAT when Lynx is primary. - Load entries CSV / bibs into Meet Manager or FinishLynx so competitor numbers match NRCD bibs.
- After you seed heats in MM/Lynx: Live desk → Import heats (paste event+bib+heat+lane, or entries CSV with heat_number/lane_number filled) so NRCD heat sheets and Live start lists match the timing laptop.
3 · Before race 1 (dry run)
- Host Live page shows green Preflight ready (Live on + bibs when athletes are entered).
- A: upload a practice
.lif-> mark appears in Latest. - B: run starter (or
--preflight); drop one practice LIF -> Agent on. - C: POST one practice row (or Live page curl) -> mark shows.
- D: F11/F12 or preview-upload a practice HyTek file -> events appear.
- Optional: race clock Zero -> Start -> Stop; open venue tabs (Scoreboard / Monitor / Finish) on a second screen or TV (same Wi-Fi; fans OK once Live is public).
4 · Meet day
- Check-in desk or phone clerk for check-ins and scratches; heat sheets from Timer home.
- Track: after each heat, Path A upload - or leave B/D agent running - or keep C posting.
- Field: enter attempts on the field entry pad (check-in/scratch on the pad first). Outdoor LJ/TJ can record wind (m/s).
- Use Timer desk Prev/Next / board focus if fans stick on the wrong heat.
- After prelims: Prelim -> finals on the track Timer desk (take N, seed style), or field pad Take to finals / Start finals.
- Export Scratches CSV if clerks need a list.
Must fix before race 1
- Live enabled + bibs assigned when athletes are entered.
- Path A: you can sign in as Live crew. Paths B/C/D: current token works and agent/API is running.
- Competitor numbers in Lynx/MM match NRCD bibs.
- Heats seeded before check-in (unless the host allowed check-in without heats).
Path A · Clock (browser)
- Create or sign in to NRCD with the email the host added as Live crew, or open the meet Live page and click Request to be timer when no crew exists (host confirms before fans see Live).
- Open the meet's Live results page (host text or Upcoming meets).
- Expand Live ops → Path A · Upload FinishLynx .lif.
-
After each heat: choose the
.lif, confirm event/heat (optional if filenames are mapped like001-1-02.lif), Upload. Watch the Latest ticker. - Race clock (Lynx-style): Zero → Start (Space) at the gun → Stop when the heat ends. False start (R) zeros and restarts. Next+zero (N) / Prev+zero (P) flip board focus.
-
Venue displays (same Wi‑Fi / signed-out fans OK once Live is public): open
?mode=monitor(side TV) and?mode=finish(finish line) from Live ops → Venue displays, or Meet tools. Clocks show running time plus gun UTC / wall UTC. - Optional desk: Prev/Next board focus without zero, correct a bad mark.
You do not need the ingest token for Path A. Keep the Live page open on a second screen if you can.
Path B · Clock (folder agent)
-
Install Python 3.9+ if you do not already have it (easy install:
python.org/downloads;
Windows: check Add python.exe to PATH).
macOS: that installer, or
brew install python. -
From Timer home / Live desk → Download agent files: get
nrcd_live_agent.pyand a Windows starter.bator macOS/Linux.command(paste the ingest token if it is not shown). Keep them in the same folder. -
Windows: double-click the .bat. macOS:
chmod +xthe .command file, then double-click (or run it in Terminal). The starter checks Python version first, then asks for the FinishLynx LIF folder. Optional: paste a HyTek/MM export folder for Path D auto-upload. - If preflight blocks, fix Live page items (bibs / Live on), then retry.
- Leave the window open. Save a practice LIF and confirm it on the Live page (Agent on).
Uses the ingest token. Live crew login is optional on another device for desk tools. No Python? Use Path A (browser upload).
Path C · Live Timer API
Use when you are not clicking Upload (A) and not running NRCD's agent (B). Host still Enables Live and shares meet id + ingest token. Copy the practice curl from the Live page when the token is shown.
- Every call:
Authorization: Bearer <meet_token> - Base:
https://nationalrunningclubdatabase.com -
Push:
POST /api/live/<meet-id>/ingest(JSON),.../ingest/lif(multipart), or.../ingest/hytek(Path D file) - Optional:
POST .../clock,.../heartbeat,.../board,GET .../preflight -
Fans watch
/upcoming-meets/<meet-id>/live
curl -sS -X POST \
-H "Authorization: Bearer MEET_TOKEN" \
-H "Content-Type: application/json" \
-d '{"event_name":"Men 1500m","gender":"M","heat":1,"rows":[{"bib":"104","place":1,"result_time":"3:55.22","first_name":"Pat","last_name":"Runner","team_name":"Example U"}]}' \
https://nationalrunningclubdatabase.com/api/live/MEET_ID/ingest
Field, DNS/DNF, LIF, board: full Live Timer API docs.
Path D · HyTek Meet Manager (FTP)
Use Path D when Meet Manager is the results source. For FinishLynx, A/B remain smoothest
heat-by-heat. Hands-free MM: start the agent with FTP port
2121 (leave FinishLynx blank for HyTek-only), point HyTek FTP at 127.0.0.1, then F11/F12.
Or publish-to-disk into --mm-watch. Manual:
curl -sS -X POST \
-H "Authorization: Bearer MEET_TOKEN" \
-F "file=@results.txt" \
https://nationalrunningclubdatabase.com/api/live/MEET_ID/ingest/hytek
Full notes: Timer Kit · Path D.
60-second dry run (do this before race 1)
- Host: Live page is green Preflight ready.
- A: upload a practice
.lif→ mark shows in Latest. - B: save one practice LIF into the watch folder → mark shows · Agent on.
- C: POST one practice row (or use the Live page curl) → mark shows.
- D (optional): preview + upload sample HyTek .txt → events appear.
- Optional: Zero → Start → Stop the race clock; open Monitor + Finish tabs and confirm gun UTC + ticking time.
If something breaks
- Nothing uploads: Live still enabled? A: still Live crew? B/C/D: token rotated (old token dies)?
- Wrong event name: A type the name; B/C add event maps or pass
event_name. - Names don't match athletes: assign bibs to match FinishLynx competitor numbers.
- Fans see old heat: Timer desk Prev/Next or board API focus.
- HyTek preview empty: use Meet Manager text with Event headers, or CSV with Event/Place/Name/Mark.
- Need the long version: Full Timer Kit (desk, projectors, payloads).
Related
- Meet tools (practice by role: host / timer / during / post)
- Full Timer Kit
- Host Kit · How to register
- Upcoming meets
Bookmark this URL for meet weekend. Path A first unless you already ship Path C.