Admin sign-in
Sign in with your GitHub account — changes are committed under your name.
Paste the association's admin access token. It stays in this browser only.
Roster admins don't need the token — sign in with your email at the member portal and use its 🛡 Admin panel link.
Asset library
Upload your own photos and video clips — venue b-roll, official event art, sponsor material — and describe what each is for. When a video renders, a matching asset is featured on that event's card ahead of anything scraped or AI-generated. Assets start unticked — tick the ones you want eligible for the next video.
🎬 Create a promo clip (experimental)
Pick events and a timeline, say what you want, choose the platforms. The studio features your uploaded assets first, scrapes real photos and video from each event's website, AI-generates art for anything it can't find, and adds a cinematic AI intro, soundtrack, and branded outro per form factor. Rendering takes ~5–10 minutes.
1–2 events = feature mode: the event gets a 3–5 scene story arc (~25s) instead of a single card; 3 events render as a mini-feature (2 scenes each). Your instructions steer the visuals — the studio can research facts on the web (e.g. who's playing a final) and generate themed scenes when the event's site won't have matching imagery. Real logos aren't rendered; team/artist names appear as on-screen text.
Pick a date window and load events.
Rendered clips
Nothing yet — rendered clips land here.
Pending submissions (not visible to the public until you approve) appear first, then tentative events by soonest deadline. Approve, confirm, extend, or reject — anything left unhandled expires automatically on its deadline.
Add a calendar by URL
Paste any events page. The AI analyzes it, builds a persistent extraction recipe, test-runs it, and — if events come out — the calendar joins the daily aggregation automatically. Takes about two minutes; results appear in the repo's Actions tab.
Association member roster
People on this list can sign in to the member portal with an emailed code, see the private member calendar, and add their property's events. Use Make admin to grant someone the full admin panel with that same email sign-in (revocation is instant). Stored on the private branch — never public.
✉️ Edit the invite messages (member & admin)
Member events (private layer)
Everything member properties have added — visible only to signed-in members, never the public. Shown here for oversight; remove anything inappropriate.
🌴 Admin Concierge
Everything the member concierge knows, plus your approval queue, the full member layer, the roster, policies, and how this whole app works. It can also drive the panel — ask it to take you somewhere.