00', Someone has to keep the score

Someone has to keep the score.

You score it on your phone while it is happening, and the minute each goal went in is on record afterwards. Organisers get a tournament measured against the hours they actually booked. Free, Android and iOS.

Get it on Google PlayDownload on the App Store
Play it here, no installopens in this browser · ~4 MB

1v1 to 11v11 · 20 to 120 minutes · 4 tournament formats · 6 stats per player

The KickHeroes home screen: a greeting, the team code to share with the other captain, a Create a match button, a recent result between Black Panthers and Turf Titans, and quick actions for joining or creating a team.
The screen the app opens on.

A football pitch at sunset, seen from beside the corner flag, with floodlights and empty stands behind the goal.
An illustration, not a photograph.
09', Four people, one Sunday

Four people, one Sunday.

The app opens on whichever of them you are.

  • Thursday nightThe captain.Makes the team, holds the match code, picks who is playing this week. Players join with the code, and only the person who made the team gets one.
  • Kick-offThe scorer.One phone on the touchline, twenty-two players, and a clock that keeps running when the signal does not.
  • The week beforeThe organiser.Has the pitches booked by the hour and has to fit the teams inside them. Then keep the day moving once it starts slipping.
  • Sunday nightThe player.Wants to know whether they are any good, and wants something worth putting up afterwards.

24', Both captains have to agree it happened

Both captains have to agree it happened.

Before a match exists, both captains' codes go to the server and come back checked one side at a time, so the wizard can tell you which side's code was wrong rather than just refusing. The server issues a match code only to the person who created the team. That is what stops somebody inventing a ten-nil win, and it is the reason a result on the leaderboard is worth anything at all.

Step two of the create-match wizard: two team slots either side of a VS badge, your own captain code, and a Captain match codes panel reading “Ask each captain for the code shown on their profile. Both are needed to continue.”
Both codes, or no match.

31', The clock belongs to the server

The clock belongs to the server.

Start it, pause it, move it on a half, adjust it. Every command carries an id, so a retry cannot count twice, and a version, so a phone showing an old state cannot overwrite a newer one. Lose signal on the touchline and the commands queue and replay when you are back. Two people watching the same match see the same minute.

What that does not mean. The app does not work offline. Goals and stats need a connection, on purpose. We would rather the tap be refused than let the scoreline quietly disagree with the match. It is only the clock that queues.

Live · first half

The scoring screen: Sunday Regulars 1, Half Past Six FC 0, a running clock at 12:08, and both team columns beneath with every player on a row and their recorded stats beside their name.
Drawn from the app's own code, not captured. See the note at the foot of this page.

38', A goal at twelve minutes

A goal at twelve minutes is a goal at twelve minutes.

Six things are recorded for each player: goals, saves, defensive actions, assists, yellows and reds. Two yellows and one red, and the app will not let you go past either. The minute is stamped when the scorer taps, not when they save. A goal at twelve minutes, saved at forty, is still a goal at twelve minutes. Months later, that is how anyone knows who scores when it is still level.

That is the whole vocabulary. Every leaderboard, award, rating and radar in the app is built out of those six and nothing else. No expected goals, no distance covered, no pass maps, because nobody standing on a turf pitch is capturing them.

Somebody's cousin turned up to make the numbers. Add them by name, mid-match. They join the match, not your squad, and in a tournament you can pick them again next fixture. A substitution swaps two players and every stat they have already earned goes with them.

The stat sheet for one player, open over the scoring screen. Six rows with a minus and a plus each: Goals, Saves, Defend, Assist, Yellow card marked max 2, and Red card marked max 1. Goals reads 1.
The whole vocabulary, on one sheet. Drawn, not captured.

HT, A formation for every size of game

A formation for every size of game.

Named by its outfield rows. The keeper is assumed, so 2-2 is five a side.

Drag the eleven into place and the board leaves as an image, into the group or saved onto the team. A lineup drawn for a particular match shows up on that match's page afterwards.

Formation
Formation boardA line-drawn pitch with the outfield players as filled circles and the goalkeeper as a ring. Currently showing 11v11 · 4-4-2.
The tactics board in the app: a six-a-side lineup for Blazing Monks FC, each player on the pitch as a photo with their name beneath, and a bar along the bottom showing the team, the formation and buttons to share or save it.
A six a side, saved to the team.

62', Does it fit in the day?

“Does it fit in the day?”

You booked the turf before you picked a format, so the app asks it in that order. Put in your teams, your pitches and your hours. It hands back every shape of tournament measured against that day: how many matches, how many pitch-minutes it needs against how many you actually have, what is left over, and how many games each team is guaranteed whatever happens. The shapes that do not fit are shown as well, with how far over they run. An organiser needs to know that everyone-plays-everyone takes three days, not to have it hidden from them.

Step three of the organiser wizard: the shape of the competition, offering by hand, knockout, league, groups then knockout and double elimination, with the number of players per side beneath.
Choosing the shape, in the tournament wizard.

“Organisers do this arithmetic on paper, get it wrong, and find out at four in the afternoon that six matches are left and the light is going.”

From the app’s source · tournament_shape_screen.dart

16 teams · 2 pitches · 10 hours · 30-minute matches · 20 hrs of pitch time

Tournament shapes for 16 teams on 2 pitches over 10 hours, with 30-minute matches
ShapeMatchesPitch time neededSpareGames per team
4 groups of 4 → knockout3216 hrsFits · 4 hrs spare3
Double elimination, 16 teams3015 hrsFits · 5 hrs spare2
Knockout, 16 teams157.5 hrsFits · 12.5 hrs spare1
League, 16 teams12060 hrsOver by 40 hrs15
  1. When the day slips.Matchday shows what is on the pitches now, what is next, and what should have kicked off and has not. That last list is the reason to open it. It refreshes itself every thirty seconds, and you can move everything still to come back fifteen minutes in one tap.
  2. A drawn semi-final cannot be saved.Tap finish on a level knockout tie and the tie-break sheet opens, and it does not close. It applies the rule you chose when you set the tournament up: extra time then penalties, penalties, or organiser decides. A shootout settles who goes through and nothing else. The tie stays a draw. No penalty lands on anybody’s goal tally.
  3. Hand it to somebody else.Add collaborators without handing over your account. They can add teams, schedule fixtures and score matches. Assign a scorer to any fixture and the button tells you who has it. A wrong scoreline can be reopened: the points it awarded come back off both teams and every player first, then you correct it and finish it again.
  4. The awards work themselves out.Champion, runner-up, third place, golden boot, golden glove, best defender, player of the tournament. All of it worked out from the scoring you already did. A separate report flags anyone who is one yellow away from a ban.

In the app it is in the tournament wizard, under “What fits in the day?”.

Get it on Google PlayDownload on the App Store

78', Sunday night is for posting

Sunday night is for posting.

Five things in the app render straight to an image and go out through the share sheet. None of them is a mock-up of your football. They are made from matches two captains agreed to.

Your rating is fixed, not graded on a curve. It starts at 6.0 and moves for what you did: a goal, an assist, a save, a clean sheet, a card, the result. Clamped to ten. Form is your last five matches, Career is all of them. It is worked out on the server, the same way for everyone. Your rating does not move because somebody else had a good Sunday.

If your football started before the app did. Add old matches yourself: opponent, date, result, goals, assists, saves, defends. They stay yours. Nobody else ever sees them, and they never enter the rankings or anybody’s percentiles.

  1. 01
    A Scout Report card: Ravi Menon, striker, a KH Rating of 7.4 in a ring, and an eight-axis shape chart against the role benchmark.
    Scout Report · drawn, not captured
  2. 02
    A head-to-head card comparing Ravi Menon and Arjun Pillai: two shape charts side by side, then six rows — goals, assists, defending, clutch, fair play and KH rating — with the better figure in each row set in bold.
    Head to Head · drawn, not captured
  3. 03
    A player banner in carbon black: Ravi Menon, striker for Sunday Regulars, with 19 goals, 7 assists, 24 matches and a 7.4 rating on cyan chips.
    Player banner · drawn, not captured
  4. 04
    A Man of the Match card in gold on maroon: Sunday Regulars 3–1 Half Past Six FC, full time, Ravi Menon, with 2 goals, 1 defensive action, 0 saves and 1 assist.
    Man of the Match · drawn, not captured

    The top scorer on the side that did not lose. There is no vote.

  5. 05
    A completed tournament bracket: the final, the two semi-finals, and beneath them the Group A and Group B tables with each side’s points.
    Tournament bracket

84', The team sheet

The team sheet.

Everything in the app, in one list.

  1. 1A match clock the server owns
  2. 2Live scoring, six stats a player
  3. 3Teams, squads, and a code to join with
  4. 4Matches from 1v1 to 11v11, 20 to 120 minutes
  5. 5Tournaments in four shapes: knockout, league, groups then knockout, double elimination
  6. 6“Does it fit in the day?”
  7. 7Matchday, and a schedule you can shift
  8. 8Fixtures, tables, brackets and awards
  9. 9Player stats, a KH rating and a role-aware radar
  10. 10Share Studio: a scout report and a head to head
  11. 11A tactics board, 1v1 to 11v11

Substitutes

Team and tournament chat, with blocking, muting and reporting · A grounds directory you can add to · Support tickets you can reply to in the app · Three how-to videos · Notifications on five channels, so you can silence one kind without silencing all of them · A global leaderboard you can filter by position and stay off entirely


90', Straight answers

Straight answers.

Six things worth knowing before you install it.

Does it work offline?
No. The clock does. Start, pause and adjust queue up and replay when you reconnect. Scores and stats need a connection, on purpose. We would rather the app refuse the tap than let the scoreline quietly disagree with the match.
Who picks Man of the Match?
Nobody picks it. It is whoever scored most on the side that did not lose, and that is the whole rule.
How do I sign in?
Your mobile number. That is the only way in. No Google, no Apple, no email address.
What does it cost?
Nothing, and there is nothing in the app that costs anything. No paid tier has ever existed and no money passes through it.
Am I on the global leaderboard?
Only with your say-so. A new player is asked before anything of theirs is published. Anyone who was already on the board from before we started asking was told so and given one tap to come off. There is a switch in Settings either way, and turning it off takes effect the next time the board loads.
Can a wrong scoreline be fixed?
Yes. An organiser can reopen a finished match. The points it awarded come back off both teams and every player first, then you correct it and finish it again. Leaderboards will change until you do.