Padel is played in fours. Sometimes the four are a regular crew who play every week, sometimes they're friends of friends, and sometimes they're strangers who met on an app. When one of them drops out the night before, the game is at risk: three people, a booked court, and a group chat full of maybes.
Apps like Playtomic are built around booking courts and finding players. In my audit I found no in-app way to rescue a game once a player dropped late, and no idea of a recurring crew. Fourth is my attempt at that missing piece: when someone drops out, it asks the right people in the right order, and settles the money by clear rules.
I chose it because the problem looks small and isn't. Money, trust and timing all pull against each other, and every rule needed a decision I had to defend.
A player taps I can't make it. Before anything happens, the app shows exactly what leaving costs them at that moment, so nobody discovers a fee after the fact.
The cost depends on how close kick-off is. More than 24 hours out it's free. Between 1 and 24 hours the dropper pays only if nobody replaces them. Under an hour they always pay their seat, and their replacement plays free.
Padel is played by four people, so each player pays a quarter of the court fee: €8 of a €32 court. That quarter is their seat, and it's never split between two people. I chose three states the screen can explain in one line each. The replacement plays free under an hour because a stranger needs a real reason to say yes with an hour to go, and the person who dropped caused the gap.
Once someone drops, the game is marked at risk and a countdown runs. The app works through a ladder: first the crew's bench, then crew friends, then nearby players, and finally the players still in decide what to do.
The Who's asked screen shows who was pinged, who has seen it and who has replied, so the crew isn't left wondering.
More than 24 hours out, the bench is asked one at a time. Between 3 and 24 hours the whole bench is asked at once and the first yes wins. From 1 to 3 hours, crew friends are added. Nearby players only come in under an hour.
A single reply is enough, and it avoids pinging everyone about a game that is still a day away.
In the last hour, nearby players can be asked too. A nearby player's request goes to the three players still in the game, and two of the three have to approve before they join.
The notification a replacement would receive is shown as a mockup in the prototype, labelled as such. The app doesn't send real push notifications yet.
Unanimous lets one no block a stranger, and a block means the game plays short. Majority also matches how the play-short vote works, so the rules stay consistent. Playtomic's competitive open matches use the unanimous version: every player already in the match must accept an out-of-range request.
Any crew member could let a stranger in alone.
It can be added later as a report-and-remove step if it turns out to be needed.
An hour before kick-off, if nobody has been found, the players still in the game vote: play short or keep searching. Majority wins. Teammates' votes are visible but only you can change your own.
At 15 minutes the vote closes. If there's no majority by then, the game plays short, and a replacement can still join until kick-off.
The organiser is told but doesn't vote, because they aren't playing. I rejected organiser-decides for that reason, a unanimous vote because one person could block a short game, and a timer alone because nobody would get a say.
A late joiner gets the longest possible window, and 15 minutes is still enough to reach the court.
If no fourth is found early enough, the crew can release the court and the court fee is refunded to the crew. Release is only offered while it's still before the venue's deadline, which defaults to 2 hours before kick-off.
After that, the only outcomes are a replacement or a short game. The button isn't shown at all, rather than shown and refused.
A booked court is already paid for. The club keeps the money for a slot it can't resell, and under an hour it can't resell in time. My first draft let the crew release the court right up to kick-off. That cost the club money and was unfair to it, so I removed it.
The 2 hour default is my guess. Each venue should set its own, and I'd want a real club to confirm how it works in practice.
A crew friend accepts the ping and the game returns to four players. The money settles automatically, and the replacement is thanked with a rescue credit.
Free last-minute rescues have no cap. Misuse is handled by escalating steps: a silent watch, a visible warning, a cooldown, then a crew block. I rejected a shadow ban because it's opaque and hard to defend.
A fee waiver needs one accountable person, and the organiser already holds the booking. Waivers are logged with a reason.
This is a web rebuild of the app's screens, driven by the same rules. A player has just dropped out. Move the slider to change how long is left before kick-off, and the screen, the ladder and the money change with it. Tap the buttons on the phone to try each step.
A web rebuild of the Fourth screens, using the app's rules.
The 2 hour venue deadline is my guess, not a verified club policy. Before relying on it I'd check it with a real venue.
Notifications are a mockup. The Ping screen shows what a replacement would see, but the app doesn't send real push notifications yet, so a real version needs that built and tested.
In the prototype my teammates' votes are pre-set so one person can show the whole flow. A real version needs accounts, so each player acts only for themselves.
I haven't set how many late drops should trigger a crew block. That needs real data on how often people drop, which I don't have yet.