Portal · beta clubhouse

Start a clan. Assign blame.

The portal is the control room: new clan function, clan landing pages, leader profiles, player profiles, score tracking, Tard IDs, QR codes, and the email plumbing needed when this grows past local browser chaos.

Portal status

Static MVP now. SendGrid later.

Profiles and QR codes work in-browser today. Real email, auth, short URLs, and shared database should move to Render/Workers when ready.

Build list

What the portal needs

This page lays out the app surface so it can graduate cleanly from static Cloudflare Pages to a real backend without painting us into a sand trap.

01

New clan function

Leader creates clan name, slug, home course, motto, and starting roster. Static version saves locally and exports JSON.

02

Email functions

SendGrid is the right fit for invite emails, profile claim links, lost-ball notices, and leader alerts once backend/auth exist.

03

Clan landing page

Public clan homepage with logo/name, leader, roster, standings, recent rounds, and the proper amount of shame.

04

Clan leader profile

Leader/admin can add other tards, edit player info, export rosters, and eventually invite by email.

05

Player profiles + scores

Each player gets stats, round history, wins, best/worst, and a public roast-safe profile page.

06

Tard ID + QR merch

IDs look like ClanName[001]. QR codes link to the player profile for bag tags, balls, trophies, and evidence bags.

Recommended backend path

Keep Pages for the front. Add Render or Workers for the app.

Use SendGrid for transactional email. Store clans/players/rounds in Postgres or D1. Generate short public profile URLs for QR merch. Until then, the Clan Lab proves the UX without monthly complexity.

Open Clan Lab