It was a grey Friday afternoon at our local tennis club when Coach Becks bustled over, clipboard flapping like a startled pigeon.
“We’re short on umpires for this weekend’s Under‑8 league matches. Any chance you could help out on the courts?”
My pulse quickened. Two days still stood between me and the first serve, yet in my mind the benches were packed, parents whispering, and every eye was on the empty spot where the umpire would soon be standing. A mild panic took hold, but the kids needed someone dependable.
Flashback Jitters
When I was thirteen, my P.E. teacher asked me to referee a school football match for the older kids. One dubious goal sparked a chorus of shouting and finger‑pointing, and I felt utterly overwhelmed. Ever since, the idea of officiating has given me pause, but not quite enough to put me off completely.
That memory came flooding back as I faced Coach Becks. My first instinct was to invent an excuse - “Busy weekend,” “Family plans,” anything - but I couldn’t wriggle out of it: my own son would be playing. And beneath the nerves, a quieter voice reminded me why I enjoyed helping out at the club. These youngsters were just discovering a sport that might stay with them for life, and perhaps I could rewrite my own wobbly chapter while I was at it.
So, with a bead of sweat making a break for it down my temple and my voice a touch crackly, I nodded and said, “Alright, I’ll give it a go.”
Racing the Clock
Forty‑eight hours to prepare. (Actually, more like eight hours, because life happens 😅) Immediately, my mind cued up its usual worst‑case scenarios:
- What if I get the score wrong and confuse everyone?
- What if a parent calls me out in front of the crowd?
- What if the kids sense my nerves and it all unravels?
To calm the spiral, I scribbled a three‑point action plan: check the Under‑8 rules, build something to track scores, and practise score calls until they felt natural. Then a thought struck me, hang on, I can build a score‑tracker with AI.
Enter AI, Stage Right
I gave the Under‑8 rules a quick read, tried to recall what Coach Becks had said, and typed a bullet‑point list into ChatGPT. Now, I’ve written my fair share of prompts in the past—some half‑decent, even—but this time I thought I’d let ChatGPT do the honours. Bit like asking a Michelin‑starred chef to plate up your takeaway. Here’s the scrappy version I handed it:
Match Setup • Player names are entered. • User chooses who serves first. • User presses Start Match. Scoring Rules • Match is to 10 points. • Player serving first starts from the right. • After the first point, the other player serves from the left; then it’s two serves each. • Players switch sides after every point. • Every six points, players also switch ends. UI Must Show • The score. • Who is serving. • Which side they should serve from.
It wasn’t pretty, but GPT‑4 spun that into a decent, structured prompt for a coding agent. Magic.
Cursor + Vercel = Quick Build
I fired up Cursor and teamed it with Claude 3.7 Sonnet, asking it to sketch out a dev plan. We bounced ideas back and forth. Within a few iterations, things looked solid. I asked Claude to generate React code and a Vercel setup, and we were off.
Then came the rhythm: load the app, run a sample rally, notice a tweak (“Can we make the Switch Ends alert flash orange?”), describe it in plain English, let the agent refactor, refresh. By midnight on day two, the app was running.
There’s a quiet satisfaction in building something genuinely useful, when each little adjustment makes it better and you think, “Actually, this might just do the job.” It was still rough round the edges, but when I opened it on my phone and saw it ticking along nicely, I couldn’t help but grin.
I pinged Coach Becks the link. Thirty seconds later she replied with three exploding‑head emojis and:
“This is brilliant! Mind if I share it with the parents?”
That little message delivered a proper confidence boost.
Two Mornings Later
Saturday dawned clear and brisk. Courts 3, 4 and 5 were alive with eight‑year‑olds practising hopeful serves while parents hovered with coffee cups and smartphones. One of the other dads (also umpiring) wandered over and asked, “Did you do your scoring homework then?”
I held up my phone with the app’s blue, US Open‑style home screen. He nodded, impressed. “Does it tell you when to switch ends? And what if you mess up a point?” I tapped the little message "Switch ends in two points" and then hit the Undo button, rolling the score back a notch. “Yep, and yep,” I said. He raised his eyebrows. “Can you send it to me?” he asked. “Bit nervous, to be honest.” I sent him the link, put my phone away, and we turned to the baseline where the kids were lining up.
Kevin cracked the first winner and 1–0 flashed up in green. I called the score and tapped the arrow guiding the server to the right side. A few times a player paused in the wrong spot, and I’d say, “Arrow says left side now,” and off they trotted. At six points, the end‑switch message popped up and the players jogged round without being told.
Fifteen minutes later: 10–7.
“Game, Kevin wins ten to seven,” I said, calm and clear. The players shook hands at the net, and a wave of quiet pride crept in, seems all we needed was a simple app and a little focus.
As I left the court, the next version was already forming in my head.
Where It Stands Now
Since then, I’ve rewritten the app in React Native. It’s now live on the App Store, and the Android version is still in Google’s review queue (fingers crossed).
I never thought I’d design, code and ship something genuinely helpful to the App Store on my own, but here we are. It’s still scrappy: no automated tests, no pipelines, my React knowledge is paper‑thin, and the UI/UX leaves much to be desired. But it works. Turns out a bit of AI and a dash of nervous energy can take you further than you think.
Next on my list:
a tie‑break mode and a stats page to show how each point was won, so parents can spot patterns and target practice more effectively.
Try It or Share It
- Think this app might help someone? Share the link.
- Fancy building something but no idea where to start? My DMs are open.
Top comments (0)