Set your team, venue, and time — we'll match you with a compatible opponent automatically. Compete with other teams, climb the leaderboard, and get more games on the pitch.
A guided flow with a progress bar. Submit your request and the matchmaking engine pairs you with the first compatible team at the same venue and time.
Create your team once, invite your teammates
Browse active futsal venues, filtered by availability.
Pick a date and a slot that suits you
Get matched in real-time. No polling, no waiting.
Everything you need to organize, match, and track your team's season — without another group chat to manage.
Same venue, same time, same skill level. We pair you with the first compatible team in the pool.
No same-skill opponent available? We gradually widen the search so your match still gets filled.
Short a player or two? Enter the pool anyway — players nearby join your team and each pays only their share.
Both teams submit the final score independently. If they match, the match is sealed. If not, an admin reviews.
Match found, score to verify, score verified, dispute resolved — never miss what matters.
To easily add your teammates in the team.
Do your best in the pitch to get in the leaderboard of the month.
Bilingual to fit your needs.
Teams joined, matches played, won, drawn, lost, and win rate — across every team you belong to.
Email + password with OTP verification, password recovery, and persistent secure sessions.
You don't need a full squad to get on the pitch. Enter the pool missing a player or two, and others join your team for the match — everyone pays only their own share.
Missing one or two players? Enter matchmaking anyway and add a note like “Need a goalkeeper.”
Anyone at your venue grabs an open spot and pays only their share — not the whole pitch.
Cards are only charged once the roster is full and a match is confirmed. Leave any time before then.
Both teams report the score independently. If the scores match, the result is locked in automatically.
Submitted just now
Submitted just now
Match completed. Both teams' stats and the leaderboard update automatically.
The moment you submit a request, a Supabase Edge Function runs and looks for a compatible opponent at the same venue, overlapping time slot, same skill level. Real-time push when matched.
Same venue · same date · overlapping time · same skill level.
If no same-skill opponent is found, the pool widens automatically to keep your match filled.
Concurrent requests can't double-book. FOR UPDATE SKIP LOCKED keeps it clean.
Free for players. Sign up, create or join a team, and enter the pool.