A record of every match between friends.

A social network for eFootball players built around a single constraint: you have to intentionally play with someone to record. The banter was always there. This gives it somewhere to live.

Role Founding Designer
Team Myself (Design)
David (Technology)
Talal (Operations)
Status Live in both app stores
Open Beta

How it works

Kickd capture-score screen with a camera viewfinder and OCR reading the final score off the post-match screen

Every match begins with this screen

You point your phone at the post-match screen. OCR reads the final score, parses the player names, and turns the result into a record both players can confirm. It's the moment the whole product hinges on — without this capture, there's no league table, no history, nothing to react to.

The interface is deliberately stripped: a viewfinder, a single guide, one button. The pressure was always to add more — manual entry, score override, edits — and I kept resisting. The harder it is to fake a score, the more the score is worth.

Once captured, the score lives in a league

A league is a private group — cousins, flatmates, office rivals — with its own standings, history, and banter. You don't join a public ladder. You build a space around the people you already play with. Points calculate themselves from the matches you've already captured, so the table is a byproduct of playing, not a separate chore.

The design stays deliberately plain: a name, a table, a points tally. No avatars, no badges, no progression systems. The richness has to come from the relationships, not the interface. Invitations sit at the top in warm gold — visible enough to act on, quiet enough to ignore.

Kickd league list screen showing league standings, invitations, and points
League of Cousins Today
S
Salman
3 1
J
Jamal

Interactive prototype

And the score isn't where the conversation ends

A 3–1 result is just a number. A 3–1 result with three crying-laughing emojis under it from the group chat is a story. Reactions capture the bit that already exists in WhatsApp threads after every match — the gloating, the disbelief, the running jokes — and give it a permanent home next to the score that caused it.

The picker is small and curated on purpose. Eight reactions, one tap, no custom upload, no GIFs. Anything more would turn the feed into a feature, when the point is to keep it a footnote. The score is the headline. The emoji is the comment your cousin would have left anyway.

How AI was used

Prototyping micro-interactions. Rather than describing how something should feel in a meeting, I used AI to generate working prototypes — things like matching the speed of a screen fade to the opening of the bottom tray. Being able to share a live example meant the developer got the intent immediately, not just a note in Figma.

Reviewing copy. Every label, confirmation message, and empty state went through an AI review pass. It flagged inconsistencies in tone, caught places where the language was too technical for a social context, and helped tighten the microcopy to match the product's informal personality.

Identifying notification gaps. I mapped out all the key events in the product and used AI to stress-test the notification logic — surfacing moments where users would be left in the dark and moments where we risked over-notifying. It found several gaps that hadn't come up in testing.

Three things I've learnt

01

A competitor launching isn't the end. It might be the beginning.

When EA shipped Kick Off — match stats, results history, head-to-head records inside the game — I thought Kickd was finished. But what they built was impersonal. It tracked data; it didn't preserve relationships. The feature proved the need was real. What it couldn't do was make the score matter because of who you played.

02

Simplicity isn't a feature. It's a decision you have to keep making.

My litmus test: you should be able to record the score in the time it takes for the match to reload. Every feature gets tested against that. Dispute resolution was a real scenario — and I cut it, because solving it properly would have made the core interaction worse for everyone, every time, to handle the edge case.

03

Friction, placed deliberately, is a design decision. Not a failure.

You can't record a match on Kickd passively — both players have to actively participate. That friction is intentional. It keeps the records honest and stops the product from becoming a leaderboard people game. The score matters because it cost something to record it.

"Salman's expertise in product development ensured that our vision for the sports score app was well-executed. He has a strong grasp of structured processes while keeping the flexibility to adapt to evolving project needs."
Uzair Collaborator

Let's talk.

Got a project in mind? Book a 30-min call and we'll figure out if I can help.

Book a call ↗
Other project Kair — Air Quality System