"I won a medal and had no idea why"

About four or five months into archery, I won a 3rd place men's recurve handicap medal. The problem? I had no idea what handicap actually was.

Chris receiving 3rd place men's recurve handicap medal

3rd place men's recurve handicap. Delighted, and completely clueless about what handicap actually meant.

But still, I had fun! I wasn't worrying about bracing heights, dead releases and posture - I was just pinging arrows at a distance where I could more or less see where the arrows landed. Ignorance is bliss.

Engineer Picks Up Archery

I got into archery and quickly realised there's so much to learn: rounds, classifications, handicaps and that minor detail of knowing how to shoot (which will always be a struggle it seems).

Every time we went to the range, lots of well-intentioned, friendly people were throwing place names and words at me:

You should probably look into shooting either a National 30, or a Warwick 30, don't worry about WA rounds yet. PS have you checked your bracing height?

I tried to not let this overwhelm me. I'd shoot at a distance I was comfortable at and tried to figure out what "rounds" meant as I went along.

But I'm an engineer at heart, and doing arithmetic to calculate scores was always going to be something I'd try to make easier with code.

27 June 2023

The very first commit. The whole app was just a heading, six buttons, and an empty score table.

First ever version of Fast

The entire app: "Fast!", six score buttons, a "Clear data" button, and a score table. A few ends of a National round: 7, 7, 5, 5, 3, 1... running totals ticking up in the rightmost column. That was the whole thing.

Outdoor Season 2024

The app sat dormant for about 6 months through winter. When the outdoor season started again in April 2024, I came back to it with renewed energy.

April 2024, Classifications

By this point I had a working knowledge of what AGB classifications were about, mainly motivated by trying to get fancier badges on my quiver. I was tired of reading Archery GB PDFs full of tables to figure out which classification I'd achieved. So I coded them all in.

Classifications view in April 2024

Coloured score buttons, a score table, and right at the bottom, "Current classification: A3, Next: A2, Short by: 14". The moment the app went from score calculator to something that actually understood archery.

The Data Gets Interesting

By January 2025, I'd been using the app for over a year. Shoots were piling up, and scrolling through an unfiltered list wasn't cutting it anymore.

January 2025, History filters

Date, round type, classification, personal bests. Four emoji buttons that made the data useful.

History page with emoji filter buttons

Eight shoots, three different rounds, green PB badges on the recent ones, and 468 arrows tracked.

January 2025, Handicap calculation

Remember that medal I didn't understand? Now the app could tell me what my handicap actually was. Better late than never.

The Scorecard Evolves

The scoring interface kept getting better. From a basic dropdown menu of round names, round info card was introduced: at a glance you could see the distances, arrow counts, your personal best, and the maximum classification available for the round you're shooting.

Scorecard showing coloured keypad and round info card

Coloured buttons matching the target face, a score table, and a round info card showing distance, face size, personal best, and max classification. A long way from six plain buttons.

"Turn your phone sideways"

April 2024, Landscape scorecard

At the end of a shoot, archers need to check their totals against the paper scoresheet. Squinting at a portrait screen and comparing arrow by arrow was painful, so I added a landscape mode. Rotate your phone and the full AGB scorecard appears, laid out exactly like the paper version. It's one of those features that sounds small but gets used every single session.

Landscape scorecard showing full AGB layout

Rotate your phone and the full scorecard appears: every arrow, end totals, running totals, subtotals by distance. Ready to copy straight to paper.

"What was my 50 yard mark again?"

January 2025, Sight marks

Every archer's had that moment at the range: "what was my sight mark for this distance?" So I added a way to record them.

Sight marks page

A blue "Add Sight Mark" button, a ruler emoji in the nav, and six distances with extension and height settings. Simple, but it solved a real problem.

Eventually I made it so the app would show you your sight marks depending on what round you're shooting, showing you your marks for the distances you need to shoot, which proves very handy.

"How are you doing?"

May 2025, Live scoring

At the range, we were constantly asking each other "what's your score?" across the shooting line. So I built live scoring. One person hosts a shared shoot and gets a 4-digit code. Everyone else taps that code into their app to join, and from then on the whole group can see each other's scores updating in real time on a shared leaderboard.

Live scoring leaderboard

Five archers, one National round, a live leaderboard. Chris leading with 312, Sarah 14 behind, Mike on barebow, Princess Flamingo still a dozen arrows back, and Dave on longbow holding it together. All updating in real time.

The Princess Flamingo Incident

Not every bug gets its own round.

I'd misconfigured the face size on Stafford, set it far too small, creating a round that was, technically speaking, nonsense. A club member known as "Princess Flamingo" didn't notice. She shot it four times. Her WhatsApp review: "Gah, Stafford is a hard round."

It was hard because she was aiming at a 40cm face instead of a 60cm one.

Princess Flamingo's scorecard and WhatsApp message

The evidence: a Stafford scorecard full of misses, and the WhatsApp message that started it all.

Once I'd stopped laughing, I fixed Stafford, took a copy of the broken round with the tiny face, and named it Flamingo Tears.

Flamingo Tears round card

30 metres, 40cm face, 6 dozen arrows. A round born from a bug and immortalised in code. There's also a shorter variant, "Wonky Flamingo", for those who only want 3 dozen arrows of suffering.

Achievements: Making Practice Fun

August 2025, Achievements

The first achievement was simply "10k Club": shoot 10,000 arrows. It grew from there to over 250 achievements across bronze, silver, gold, and diamond tiers.

Achievements overview showing progress across tiers

Over 250 achievements across bronze, silver, gold, and diamond tiers. Progress bars, nearly-achieved goals nudging you forward, and recent unlocks to celebrate.

Some achievements celebrate the legends of the sport:

Legends achievement section expanded showing Kim Woo-jin inspired achievements

The Legends section: achievements inspired by world-class archers like Kim Woo-jin. "Golden Hat Trick" unlocked, four more to chase.

There's a lot more to Fast than fits in this story: cloud backup, guest scoring, digital signatures, public profiles, and plenty more. To see everything it can do, have a look at the help page.

The Journey Continues

Two and a half years of evenings and weekends, and it feels like it's just getting started.

At time of writing, I'm preparing to put Fast on the Google Play Store and open it up to a much wider audience. It's been exciting to see how much the app has evolved, from six buttons and a score table to something with live scoring, achievements, cloud backup, and digital signatures. I think exposing it to more archers will make it a better app than I could ever build on my own.

The archery itself continues too, with all its ups and downs. Some weeks everything clicks and the arrows find the middle; other weeks nothing feels right. It was my partner Ruth's idea to get into archery in the first place, and we've been shooting together ever since. She was the 2nd user (she didn't have much choice) and has been invaluable in uncovering bugs, awkward workflows, and features I'd never have thought of on my own.

Chris and Ruth smiling in front of a target at an indoor shoot

The Golden Couple. Occasionally.

There will inevitably be more gremlins. Probably more Princess Flamingo moments. But if something's not right, I want to hear about it. I'm one person, I use the app every time I shoot, and I'm genuinely eager for feedback. Every feature in this story started because someone at the range said "wouldn't it be good if…" and I'd like to keep it that way.