Public address
The address used in invite / reset / sign-in links sent by email.
Set this to your server's IP or DNS name so links work for users
(e.g. https://tracker.example.com or https://203.0.113.5:8000).
Feature flags
Who sees each feature: Everyone, Beta testers (and admins), Admins only, or Off β hidden from everyone, admins included. Pick who is a beta tester per person in the Users tab (βSees features forβ). Switches still rolling out are listed first; open an area to see all of its switches.
Branding logo
Shown on score-card slates, as a video watermark, and on 9:16 reels. The background is removed automatically.
Email (SMTP)
Configure SMTP in a .env file (see .env.example) and restart.
Invite a user
Database backup
Download a single-file snapshot of all accounts & settings. Keep it
somewhere safe. To restore, stop the app and replace
app.db in the data directory with this file (delete any
app.db-wal/-shm alongside it first).
Leagues β post results
Post results β pick the league
Create the league in βLeagues β manageβ below first if it isn't listed. Choosing it fills the stage form and targets the overall upload.
Import stages (PractiScore .psc β recommended)
Posts into the league picked above. A .psc imports all stages at once (match name/date come from the file) β the fields below are only needed for a single CSV/XLSX/PDF stage report.
Add overall standings (season CSV)
Leagues β manage
| League | Best N | Archived | Brand Kit bumpers |
|---|
Clubs β join requests & settings
Manage registration settings and pending join requests for clubs you manage.
Users
| Name | Role | Sees features for | Clubs | Access | Server AI key | Status | Last active |
|---|
Name disputes
Users who say a claimed league name is actually theirs. βReassignβ moves the name to the reporter; βKeepβ leaves it as is.
| Name | League | Current owner | Reported by | When |
|---|
Competitors
Link a competitor to an account, fix a name, or merge duplicates (click βMergeβ¦β on the duplicate, then βinto hereβ on the one to keep).
| Name | Member # | Linked account | Results |
|---|
Delegated permissions
Let a specific user manage members, disputes, branding or promos for one club β without making them a full admin.
| User | Permission | Club | Granted by |
|---|
Brand Kit
Animated logo bumper β asset library
Intro/outro/watermark assets for your own video edits. The two
watermark .mov files are ProRes 4444 alpha β not
playable in a browser, download to view them in your editor.
Per-league logo
Replace the default Cutaway watermark with your own club logo, for one league at a time. Intro/outro bumpers stay admin-controlled regardless of this setting.
π Activity
Who is doing what, how the site is growing, and how big each family's tree is. Kinds of actions and who did them β never what anyone wrote.
New sign-ups per day
Families
Tap a column to sort, a family to see its last 50 changes.
Who is doing what
Most active
AI and cost
Storage
Weekly email
Usage
Where people drop out, what is failing, and which features get used. Counts only. Who did what is on the π Activity tab.
Guest funnel
Member funnel
Errors
Features
Reports
What members and guests told us. New first, then anything still open, then recently resolved for context.
π Backups
Off-site backups of everything this server keeps, encrypted here and saved to your own Google Drive. How to restore one: docs/backup.md.
Loadingβ¦
π Family recordings β your Google Drive
Recordings made with "βΊ Record a memory" go into a folder of YOUR Google Drive through a small script you add once under your own Google account β no Google sign-in keys needed. Until it's set, recordings are kept safely on this server.
- Open script.google.com β New project, delete what's there and paste the script below.
- In the script, put your family folder's ID (the end of the folder's link) and a long secret of your own.
- Deploy β New deployment β Web app β Execute as: Me β Who has access: Anyone β Deploy β allow access.
- Paste the Web app URL and the same secret here, and Save.