Club management app for grassroots football
Ballr is a native app for grassroots football clubs, on iPhone and Android, with a web platform behind it. Players tap yes or no on their phone, the squad builds itself from who said yes, the matchday graphic makes itself and the subs collect themselves — replacing the three group chats and the spreadsheet nobody has opened since September.
Ballr in numbers
The challenge: the Thursday night ritual
Every grassroots manager knows the Thursday night ritual. Three group chats, forty-seven members, four thumbs-up and eleven people who never saw the message, and you still need fourteen bodies by Saturday.
None of it is difficult. It is just relentless, and it lands on a volunteer who is already giving up their evenings for free. Anything built to replace it had to be quicker than the group chat on the very first use, or nobody would switch.
It also had to work for people who will never read an instruction. A manager, a treasurer and a seventeen year old centre half all use the same app, from a phone, in a hurry, usually while doing something else.
And it had to handle money without becoming a liability. Subs are the job volunteers dread most, and any platform that sat between a club and its own funds would have been a harder sell than the spreadsheet.
Our approach: one ask, one squad
Amateur football runs on volunteers. Ballr gives them their week back.
Almost all of this happens on a phone, so the app is the product rather than a companion to it. Players and managers get a real native app from the App Store or Google Play, built from one codebase so a change lands on both at once. The web platform behind it is where a committee does the heavier admin.
Ballr replaces the lot. One ask covers the whole week, every match and every training night, sent by push, email or WhatsApp. Replies land in a live list while the manager gets on with their day. The squad is built straight from who said yes, dropped into a formation, and exported as a starting XI graphic that looks like a professional club made it.
The result, report and Star Player vote then go out to the club’s own private feed, where players, parents and committee can all see it without anyone having to join a group chat.
Subs run through Stripe Connect, so the money lands in the club’s account rather than ours and the treasurer can see who is outstanding without asking anybody. Clubs that already have a website can pull their fixtures and results out through the API instead of typing them twice.
What we built into Ballr
Every feature had to beat the group chat on first use. Nobody switches to something that is merely tidier.
The app itself
A real native app on the App Store and Google Play, built from a single codebase so every change ships to both at once. Push notifications land on the lock screen, and updates go out over the air without waiting on a store review.
Availability in one ask
One request covers the whole week, every match and every training night, sent by push, email or WhatsApp. Replies land in a live list as they arrive.
Squad selection
The squad is built from whoever said yes, dropped into a formation and saved, so picking a team stops being a Thursday night job.
Matchday graphics
Starting XI, result and Star Player graphics are rendered on the server from the squad that was actually picked, so nobody is laying out artwork by hand.
Subs collection
Payments run through Stripe Connect, so subscriptions and one-off fees land in the club’s own account and the treasurer can see who has paid.
The club feed
Results, match reports and votes go to the club’s own private feed, so players, parents and committee see it all without joining a group chat.
Public pages and API
Every club gets a public page, and clubs with their own website can pull fixtures and results straight out of Ballr rather than posting them twice.
The Tech-Spec
A React Native app built with Expo, shipping to iPhone and Android from one codebase, on top of a Laravel platform with a Vue 3 front end, real-time updates over Laravel Reverb and server-side graphics rendering. Availability requests go out by push, email and WhatsApp, and payments run through Stripe Connect so funds land with the club, not the platform.
Expo (SDK 54), React Native, React Navigation, Expo Notifications for push, Expo Updates for over-the-air releases, secure token storage, EAS build and submit for the App Store and Google Play
HTML5, SCSS, Tailwind CSS, Vue.js 3, Inertia.js, Vuetify, GSAP, Vite
Laravel (MVC framework), Laravel Reverb, Sanctum, Socialite
Stripe payments & subscriptions, Twilio WhatsApp & SMS, Browsershot graphics rendering, Spatie Media Library, web push, QR codes, spreadsheet export, public club pages, website API
Services on this project
Most of our clients use more than one.
Web applications
Software that does a job for the business rather than describing it. Members platforms, custom admin software and internal tools built around how the work actually gets done.
→ 02Native apps
Apps that live on a phone rather than in a browser, for the jobs people do on the move. One build that runs on both iPhone and Android.
→ 03Digital product roadmap
Scoping and planning before anyone writes code, so the build has a shape and a price.
→ 04Maintenance
Updates, backups and security handled quietly in the background, so problems are dealt with before they become urgent.
→More work
A few of the other projects we have built.