Futbol Friend.
Pickup players and standing teams have the same problem from opposite sides. Both need one more player. Neither wants to join a formal league.
Two ways in
The product has two paths, and it keeps them separate. You can join a single run and play that day. You can also build a standing team and fill the last few spots.
The player path
This is the most important decision in the product. Most pickup tools treat two different things as one state. The first is “I am interested in your team”. The second is “I am confirmed for this Sunday”. Futbol Friend keeps them separate. Interest in a team never adds you to the roster. A place on the roster never confirms you for a match.
The interface states this directly:
“Waiting for the team leader. If they invite you to a run, it will show up under Matches for a separate yes or no.”
The leader path
This is the other half of the same idea. Team setup asks three questions and nothing more: the name, how often you play, and which positions you need. People do not finish a longer form.
The leader’s dashboard then enforces the order. A run needs a court and a time before the leader can invite anyone. Roster membership stays separate from each RSVP.
Where it stands
The app is in active development. I build it alone. It is not shipped yet. The lists below describe the app today, not the plan.
Working today
- Home and how-it-works
- Team discovery and the interest flow
- Team creation wizard
- Team HQ dashboard for leaders
- Email OTP authentication
Next
- Player-side Matches screen: accept or decline a run invite
- Run planning: court, exact time, invitations
- Promoting an interested player onto the roster
- Notifications when a run is set
Built with Next.js 16, React 19, Supabase, and Tailwind v4. The palette is “Eclipse Field”: deep navy and pale paper. The typefaces are Bodoni Moda, Fraunces, DM Mono, and Inter.