🎯 Admin ← Back to app

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.

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).

⬇ Download database backup

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

LeagueBest NArchivedBrand Kit bumpers

Clubs β€” join requests & settings

Manage registration settings and pending join requests for clubs you manage.

Users

NameEmailRoleSees features forClubsAccessServer AI keyStatusLast 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.

NameLeagueCurrent owner Reported byWhen

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).

NameMember #Linked account Results

Delegated permissions

Let a specific user manage members, disputes, branding or promos for one club β€” without making them a full admin.

UserPermissionClub 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

CSV

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.

CSV

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.

  1. Open script.google.com β†’ New project, delete what's there and paste the script below.
  2. In the script, put your family folder's ID (the end of the folder's link) and a long secret of your own.
  3. Deploy β†’ New deployment β†’ Web app β†’ Execute as: Me β†’ Who has access: Anyone β†’ Deploy β†’ allow access.
  4. Paste the Web app URL and the same secret here, and Save.