Back in June of this year, me and a mate started playing the popular Australian sport Payphone Tag on our trips to the city. The aim of the game was simple - Australia has about 14,000 payphones. You walk up to any one using the map, dial a special number, enter your PIN, and grow your owned territory by claiming more and more phones, either on your own or as a team.
The gameplay loop and social aspect was immediately very enticing, but I couldn't help but feel a tinge of frustration with the core of the game being tied to a web app that felt optimized for the devices that everyone was playing on, and how much nicer it could be.
I remember turning to my friend and telling him, partially in jest:
"I bet I could make a native app for this in a weekend."
I laughed at the time, but a few weekends later I was bored.. and decided to take that jest seriously.
I began to sniff network requests, document patterns and try things. Not really with an end goal in mind, just seeing what I could find. Amusingly, I very quickly found enough requests to reconstruct nearly everything with a bit of imagination.
Not long after, that became what was originally also called Payphone Tag 0.1:

It wasn't much, but it worked and proved the idea. I had authentication, phones rendering, and core stats exactly where they were useful.
I had opted to use a fully native MapKit map rather than merely importing the game's official map tiles - a purposeful decision that despite creating a lot of frustrating tug-of-war sessions with performance and appearance, gave me ultimate control over appearance, baked offline support in much easier, and also made the experience much smoother and more complete as a whole.
A few days after I built and began to iterate on the idea, I decided to join the official Payphone Tag server, and began to talk with some of my in-game rivals, but instead of using screenshots of the website to reference information, I used screenshots of my app as a very low stakes way to test the waters for interest.
Within about 10 minutes of first trying this, I had someone ask me for an IPA. Positive feedback was near instant, with people eagerly waiting for the TestFlight I'd initially made for 2 people to be approved, and inquiring about version support preemptively.
That did teach me the first important thing about making a product like this. In my first builds, I had only targeted the newest version of iOS for any installations. I quickly learned just how much of my audience this would lock out of using the app at all, and within a few days was able to learn how to use compatibility hooks, and opened the beta officially to everyone on iOS 17 and higher.
This.. also created some strange bugs. Like this one where the navigation bar had no background on devices without Liquid Glass:

However, unlike my previous projects that I built almost entirely on my own until launch, I now had engaged users that were actively going out of their way to sideload copies of my hobby project.
The feelings that knowledge created were very foreign to me. I would later be able to pin them down to the awe of having a tiny taste of product market fir - making something without knowing if anyone would want it - and suddenly having people go out of their way to try it, and the intimidation of now expanding a hobby so far beyond what it started as, because this had initially started as nothing more than a proof of concept.
I launched the TestFlight and almost instantly had a very active group of testers with plenty of ideas for me. A very fond memory I will have is during the first weekend of the TestFlight being available, I actually managed to bump into a top team using my app in the wild, on pure chance. Seeing that level of social validation is very hard to explain in words, but it felt amazing.
Next came the challenge of learning how to handle feedback and deciphering what's a good idea, what has good intentions, and what is better kept as a mental note for later on.
One of the biggest times that I needed to learn this was when I got my first feedback note through TestFlight directly. Prior to this point I had gotten very used to constructively handling feedback through two sided interactions in feedback channels. So to suddenly receive feedback that was just.. a request with no way to ask further questions behind their motives, frustrations or anything of the sort, it was rather frustrating.

I distinctly remember almost getting angry at the first one I ever received. Which sounds almost laughable, but when you're pouring all of your passion and care into a product, project, hobby or anything similar.. certain forms of feedback will, at least initially, make you want to rile up a little because after all, this is your project and you understand all the complexities of a change and the implications that they may not.
I later discovered the best way to handle this was to separate the problem from the feedback and dissect it more. The correct solution may not be the one they're suggesting at all, or even the ones that seem obvious. I continued to apply that to other feedback queries I would receive as well.
For example, one of the earliest suggestions was to flesh out the UI quite a bit with a bold suggestion to move the primary app page to the right end of the nav in a search component and reflow a lot of the tab components. I strongly disliked the idea at the time as it just didn't make sense to me, but it did give me some useful insight - the initial interface was far from perfect and we needed to work more information in.
Over the next few weeks I began to slowly adopt a new way of building - being a steward of a ship where decisions mattered much more than they do when you're only building for yourself, and I took the chance to really cherish the community and do my best to build something that people loved and felt like they had a voice in.
At this stage, the responsibility of building something that people were depending on and talking about began to dawn on me.I had been building this entire project on my own inside the community for the official game, and I had been too afraid to talk to the founders and ask for their blessing. I decided the best place to start was separating my app's identity, and asking the operators if they had any reservations with the project, knowing I now had the social proof of people loving the project to back me up.
The founder was mostly indifferent to me releasing it, so long as I didn't imitate them and clearly stayed in my lane. I later approached them again and we began to help each other out as well, with code snippets or small iOS specific bugs on the official site.
I designed a new icon to properly differentiate the app, and gave it it's own identity as Teletag to allow it to truly stand on its own as the best way to play Payphone Tag on iOS.
After my assets were sealed and I was confident enough in the product, I decided to bite the bullet and try releasing it on the App Store to see what would happen.

Feedback was incredibly positive, and in all honestly I was blown away by the reception. I would frequently get people shouting out my app by name to new users, and now that anyone could download the app in a click, my userbase could grow far more easily.
The comments some people would make on monetization gave me time to pause, because I just don't see a way it can exist in a project like this without being disingenuous. I ended up adding a way to directly tip me very much later on, but only as requested by users. At the end of the day my running costs for the app are almost zero, since I'm building on top of another game, so I decided it was much fairer to all sides to operate on an always free model, to preserve both the goodwill of the project, and also not undermine the creators of the game I was building off.
Reputation was also becoming more of a factor to be mindful of as well, by this point I had become rather well known in the community, made a lot of new friends and quite the name for myself as well. I was also the only community project for the game trusted enough by the community to be able to handle player credentials, and I took that very, very seriously - I cared really deeply for the project and community I had made, and I didn't want to tarnish that by any means.
The biggest step I took was setting a super clear boundary - your player PIN never ever leaves your device. It's encrypted to your Keychain the same way a saved password is, and even when you're using the app your PIN isn't shown unless you reveal it. No data is logged for analytics unless you submit a beta report, and there's no middlemen. This approach built immense trust with the community, and also felt like the most respectful implementation.
As I continued to improve the app, listening carefully for small things that were causing friction or things that people would switch back to the official site for, I started a Linear workspace to work off of, and would note down any idea I had for an improvement, no matter how small.

I also began to rework a lot of the UI as I used the app myself, switching the clunky top bar to a much easier to use chip interface, and continually added quality of life changes almost every week.
One of my favorite updates that I worked on post launch was actually less of a feature and more of a super strategic way to add a community aspect into an already social experience - and it all started with an alternate app icon.
One weekend for fun, I decided to make a parody icon of the classic Telstra logo still featured on many payphone today. Absolutely corny and a little ridiculous, but it fit the bill perfectly. I then teased the icon, and made it a secret icon you only obtain by meeting me in person, through use of an NFC card I carry in my wallet.
So far, this has worked incredibly well at public meetups and added a super low stakes icebreaker for people to meet me, and for me to meet others as well. So far there are only about 5 people with the icon, out of my 400-odd users. If the social proof continues to show positive results, I'm considering adding the ability for people to give it to each other in person as well.
Teletag began because I was bored enough to take a stupid boast seriously and build something so niche and bizarre that it's almost uncanny. Two months later, it's earned me a name among a crowd of users across the country, countless new friends, and has become the go to way to play the game for many of the most hardcore players of the game. None of this was part of the plan. In truth, there was no plan.
Sometimes, the only justification you need to build something is that you want the thing to exist. You can work out the rest when others love that niche, bizzare thing as much as you do.
Build the thing.
