The app for pickup football

Who’s in for Sunday?

VamoKora is the app your crew opens on matchday. Pick a time everyone can make, draw fair teams, split the pitch fee, and settle who played best. Without a 200-message group chat.

A matchday, start to finish

From “anyone free?” to full time.

Every game goes through the same five steps. The app always shows the one that needs you now.

  1. 0’

    Pick a time

    The organiser offers a few days. Everyone taps the times they can make, and taps again for maybe. The busiest time rises to the top, so nobody has to scroll back through the chat to count.

  2. 20’

    Lock it in

    When enough people can make it, the organiser sets the kick-off. Everyone gets a notification and says in, maybe, late or out. Full games keep a waitlist, and the app tells you the moment a spot opens.

    A confirmed game: Sunday 7pm at the Dome, with buttons for I’m in, Maybe, Running late, Reffing and Can’t make it.
  3. 45’

    Draw the teams

    Fair sides from the crew’s own ratings, laid out on a pitch in a real shape. Drag a player to move them. Anyone running late starts as a sub, and the team captains can arrange their own side.

  4. 70’

    Split the pitch

    The court fee splits between the people who actually played, rounded to the nearest 50¢. Everyone can see who owes whom, and where to send it. No more “who still owes me for Tuesday?”

    The money screen: what you owe, what you are owed, and the crew’s tab person by person.
  5. 90’

    Rate the game

    The score goes in, then everyone votes for player of the match and the match awards. The crew hears the result when voting closes, and those votes are the only thing that moves anyone’s rating.

    A finished game: a 4–4 draw, with the match awards and who won each one.

Player cards

Everyone gets a card. Nobody gets a free rating.

Six stats, one overall, and a tier. All of it comes from what your teammates vote after each game, so your number is what the crew thinks, not what you typed in.

EarnedUnder three games, the card shows no rating at all. A number nobody voted on would be a guess.
YoursNo photo? Your card is your shirt: your number on your colour. Or pick a frame, a finish and a nickname.
RankedA crew leaderboard by season, with records nobody can argue with.
A player card in the Kit style: a yellow shirt with the number 6, rated 65, silver tier.
The crew rankings: a podium of three cards and a list ranked by rating.

And the rest

Everything else a crew needs.

Home: a tier promotion card, the next game and a row saying you are owed $180.
Home. Opens on your next game and anything that needs you.
The crew chat: a group conversation about bibs and teams.
Chat. Crew chat, a chat for every game, and direct messages.
The crew hub: a wall of player cards, with links to games, rankings, venues and money.
Crew. The squad as a wall of cards, latest to play first.
The Teams sheet: both teams on one pitch, each player a card.
Teams. Both sides on one pitch, in whatever shape you play.

How it’s made

Built by one developer, for real crews.

Next.js and ReactServer components read from Postgres and hand the browser plain data. The feed, the game page and the money screen are rendered on the server.
An installable appA PWA with push notifications, an unread badge on the home-screen icon, and a report button that still works with no signal at the pitch.
Tested where it countsWho played, who owes what, who comes off the waitlist and how ratings move are pure functions with unit tests. Every change goes through type-check, lint, tests and a full build before it ships.
Privacy checked by testsEvery outside service the app talks to has to be named on the privacy page, or the build fails. Deleting your account scrubs every personal field, and a test fails if a new one is missed.
Designed on purposeOne accent colour, one typeface, one obvious thing to do on each screen. Every screen is drawn as a mockup in the app’s real design tokens before it is built.
Used every weekBuilt for one crew in Mississauga and run by real crews. Most of what is on this page started as a complaint on the pitch.

Designed and built by Amir Ibrahim

Your crew, sorted by Sunday.

Free. Takes a minute. Then one link invites your whole group chat.