ERNESTO—SOFTWARE.
EN ES
01.01 Engagements Community league · tournaments Tampa, FL
← Engagements

How a league run out of TeamReach and DMs became a console with 73 members on it

Before this, the league ran on TeamReach and direct messages. The first member signed up on July 8 and there were 73 by the middle of August. Three tournaments and 163 games sit on the results page, every score checked against DUPR. The owner runs the next one from a single console.

The pickleball league
Fig. 01. The homepage, with the next event and the spots left on it. Next.js · PostgreSQL · Resend · Dedicated VPS

The record

Line of work
Community league · tournaments
Location
Tampa, FL
Role
Design and build
Built with
Next.js · PostgreSQL · Resend · Dedicated VPS
Reading time
4 min read
Outcome
73 members in six weeks
Status
Live

I The build

Public site, member area and owner console, designed and built together.
The owner console opens on five counters
Fig. 02.
01

The owner console opens on five counters

Members, pending approvals, pending registrations, published events and drafts, each on its own card. The morning these plates were taken it read 73 members. Three registrations pending, one event published, one draft.

One form defines an event
Fig. 03.
02

One form defines an event

Open registration, invite only, or rating restricted. Early-bird price with its own cutoff, minimum and maximum DUPR per player, a combined team DUPR cap, age and gender limits, and a 24 or 48 hour payment window. One field does the most work: members-only-until lets approved members register before the public sees the event at all.

Recurring formats that never publish themselves
Fig. 04.
03

Recurring formats that never publish themselves

A format is set up once, weekly, fortnightly, or monthly on a chosen weekday, and future dates are generated from it. Every occurrence arrives as a draft. Nothing reaches the public site until the owner publishes it in Events. On the day these plates were taken the list was still empty.

The member table, searchable by rating
Fig. 05.
04

The member table, searchable by rating

73 members with their DUPR, Pana animal, age bracket, registration count, join date and last login. Search covers name, email and rating. Approve, block, add a member by hand, or export the whole list as CSV.

Segmented email with the recipients resolved live
Fig. 06.
05

Segmented email with the recipients resolved live

Five audiences: everyone, everyone who has played, everyone who qualifies for a given event, everyone who has not taken the quiz, and a hand-picked list. The recipient list is shown before sending, blocked and unsubscribed members drop out on their own, and a scheduled send works out who it reaches at send time rather than at compose time. The log reads 67 of 67 and 61 of 61 delivered.

Every game ranked, verified against DUPR
Fig. 07.
06

Every game ranked, verified against DUPR

163 games across three tournaments, 70 players ranked by wins and then win percentage, with point differential, event count and medals. Four tables read the same data: leaderboard, medals, partners and animals. Public names are trimmed to a first name and an initial.

A quiz that produces a card worth sharing
Fig. 08.
07

A quiz that produces a card worth sharing

Seven Pana animals, each with traits, a play style and a motto, and each card reports what share of the league it belongs to. The Gator card reads 26 percent. The same seven animals name the teams in the draft format.

The public event page and its roster
Fig. 09.
08

The public event page and its roster

Flyer, price, spots left, and who is already in. Pana Pick-Up rotates partners. Five rounds with five different partners, ranked by results, and the top twelve pick their playoff partner in order.

The league ran three tournaments before any of this existed. Their scores were typed in afterwards. That is why the results page starts in April.

II The outcome

73
Members
163
Games on the record
3
Tournaments run

The same console works for any league with a roster. Let's talk.

Happy to walk through this one screen by screen, in the order it got built.