Matchmaking for recreational futsal

Find your next futsal match in seconds.

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.

Free to use
English & Ελληνικά
Real-time pairing
9:41
●●●●5G
MATCH FOUND
Latsia United
VS
Real Strovolos
📍 Strovolos Indoor·Sat · 18:30
View booking →
9:41
●●●●5G
Good evening,Andreas
🔔
Next match
vs Real Strovolos
📍 Strovolos Indoor·🗓 Sat 18:30
Find a match
👥My teams
📋Bookings
This monthMay 2026
1Aris FC410
2Latsia United49
3Strovolos B36
4Engomi Stars44
How it works

From request to kickoff in 4 steps.

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.

1
Create your team

Create your team once, invite your teammates

2
Choose a venue

Browse active futsal venues, filtered by availability.

3
Set the time

Pick a date and a slot that suits you

4
We find an opponent

Get matched in real-time. No polling, no waiting.

Every screen, considered

Built for one thing: getting you on the pitch. Fast.

9:41
●●●●5G
Find a match
Step 3 of 4 · Pick a time
Fri
23
Sat
24
Sun
25
Mon
26
Available slots
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
Continue →
9:41
●●●●5G
MATCH FOUND
Latsia United
VS
Real Strovolos
📍 Strovolos Indoor·Sat · 18:30
View booking →
9:41
●●●●5G
‹ My teams
LU
Latsia United
Intermediate·Latsia·9 players
3
W
1
D
1
L
5
PL
SquadInvite +
AC
Andreas ChristouOWNER
MK
Marios K.PLAYER
PL
Petros L.PLAYER
CD
Costas D.PLAYER
YP
Yiannis P.PLAYER
SA
Stelios A.PLAYER
What's inside

A complete kit for casual futsal teams.

Everything you need to organize, match, and track your team's season — without another group chat to manage.

Smart matchmaking

Same venue, same time, same skill level. We pair you with the first compatible team in the pool.

Smart escalation

No same-skill opponent available? We gradually widen the search so your match still gets filled.

🙋
Missing players?

Short a player or two? Enter the pool anyway — players nearby join your team and each pays only their share.

Verified scoring

Both teams submit the final score independently. If they match, the match is sealed. If not, an admin reviews.

🔔
Push notifications

Match found, score to verify, score verified, dispute resolved — never miss what matters.

🎟
Invite codes

To easily add your teammates in the team.

🏆
Monthly leaderboard

Do your best in the pitch to get in the leaderboard of the month.

🌐
English & Ελληνικά

Bilingual to fit your needs.

📊
Personal stats

Teams joined, matches played, won, drawn, lost, and win rate — across every team you belong to.

🔒
Secure auth

Email + password with OTP verification, password recovery, and persistent secure sessions.

Looking for players

Short a player? Play anyway.

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.

Enter short

Missing one or two players? Enter matchmaking anyway and add a note like “Need a goalkeeper.”

Players fill the gaps

Anyone at your venue grabs an open spot and pays only their share — not the whole pitch.

No charge until it's on

Cards are only charged once the roster is full and a match is confirmed. Leave any time before then.

9:41
●●●●5G
Join as Player
Play with
Latsia United
Intermediate·📍 Strovolos Indoor·🗓 Sat 18:30
Open spots1 spot left
Your share€8
They're looking for
“Need a goalkeeper”
Only charged when the match is confirmed with an opponent.
Join & Pay My Share
Fair scoring

No more "who won?" arguments.

Both teams report the score independently. If the scores match, the result is locked in automatically.

Latsia United reports
4 — 2

Submitted just now

=
Match!
Real Strovolos reports
4 — 2

Submitted just now

Match completed. Both teams' stats and the leaderboard update automatically.

Under the hood

A matchmaking engine that doesn't ghost you.

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.

Primary rule

Same venue · same date · overlapping time · same skill level.

Escalation

If no same-skill opponent is found, the pool widens automatically to keep your match filled.

Race safety

Concurrent requests can't double-book. FOR UPDATE SKIP LOCKED keeps it clean.

Searching pool…
Aris FCCHECKING
Engomi StarsPENDING
Pafos IndoorPENDING
Latsia UnitedPENDING
Strovolos BPENDING
Kaimakli FCPENDING
Get the app

Your next match is one tap away.

Free for players. Sign up, create or join a team, and enter the pool.