Inspiration
Do you remember playing Age of Empires II? I was around eight years old when I first got my hands on it—and I wasn't very good at it. I even believed that the curated list of Slovakian pop songs that auto-played on my mom's old computer was the official soundtrack.
I didn't get far in the campaigns, but I absolutely loved exploring every inch of the map on the lowest difficulty setting. No piece of fog could be left uncovered, even if it meant sending my boats to the corners like a madman. This memory has been living in my head ever since, reinforced by random encounters with classic Slovakian pop.
Years later, after moving from Czechia to Sweden, I realized how amazing it would be to explore my new hometown the same way I explored those game maps. I searched for apps, asked around on Reddit, but found nothing.
In 2020, as a first-year UX university student, I made the ugliest Figma prototype of Been To imaginable to humanity - I just couldn't drop the idea. I did, however, drop out of university, and my UX career didn't get very far.
Two years after that, I wrote my first line of code - not for Been To, just in general. On top of my full-time job in marketing, I was learning what a closure or variable is from Youtube - huge thank you, Sean Allen!
In February 2024, my partner and I decided to go all in on apps. We sold our apartment, quit our comfy jobs and started traveling across Asia while building my childhood dream - a real world Age of Empires map. That is how Been To was born.
What it does
Been To is a travel exploration app that lets you visualize your travels by revealing areas you've visited on a map. When you start using the app, the world around you is covered in fog. As you explore, whether it's on road trips, hikes, or simple walks around your hometown, the fog clears, revealing all the places you've uncovered.
The app tracks all your journeys in the background automatically throughout the day - no need to press start or make sure the app is running.
For an extra challenge, you can see what percentage of an area you've explored—your neighbourhood, hometown, nearby national park, or even an entire country.
How we built it
Since this was the first “big” iOS app we made, we thought we’d go straight for the newest possible frameworks - SwiftUI, MapKit and SwiftData.
The very first version of the app was built with ChatGPT in about an hour and it actually sort of worked - imagine the excitement! Getting rid of that “sort of” and making it actually work took another 6 months.
Challenges we ran into
Efficiently rendering the fog was a major hurdle. When you are trying to draw every single point someone has visited in the past year, efficiency is everything and you really need to know what you are doing, which took time.
SwiftData caused us some trouble as well. The timing of querying our data is sensitive due to performance reasons, and when we started, SwiftData didn't even support simple things like indexing. There also seems to be very little control over how SwiftData syncs with iCloud.
Accomplishments that we're proud of
Since it’s early in our journey, we’ve focused on retention. Our 1, 3, and 7 day retention are at 31%, 27% and 16%, respectively. This can be compared to the average of Travel apps which sits at 17%, 12% and 9% (According to Adjust, 2023).
Our acquisition metrics are already looking healthy as well. In terms of paid acquisition, we have one apple search ads campaign with broad matching enabled, which is primarily meant to generate interesting keywords for us to bid on. With a 9.6% initial conversion, the exact match campaigns are already at roughly 90% 7-day ROAS.
This setup of paid campaigns also lets us find relevant keywords for ranking organically. We continuously monitor which keywords perform better or worse in the paid campaigns and adjust our app store keywords, making sure the top words - e.g. “Explore, Fog, Travel, Map” are in the apps title or subtitle once each.
More than anything we are proud that we created an app that already lives up to our vision, and that we have users who come back every day and enjoy the app as much as we do.
What we learned
This journey has been a massive learning experience for us. We’ve gained a deeper understanding of modern iOS development frameworks, including their strengths and limitations. We've learned the importance of performance optimization and the challenges that come with it, especially when working with newer, less mature technologies like SwiftData. The experience also showed us the value of flexibility and being able to adapt and find solutions even when the tools we chose didn’t work as expected. Additionally, we've realised how crucial it is to think ahead about data management and syncing, especially for apps that rely on constant background activity.
Other than technical learnings, we realised how important it is to work with a project you feel passionate about. We wake up every day feeling excited to continue working on Been To and to create the best possible app for everyone - everyone with an iPhone, that is.
What's next for Been To
There is a lot coming up in Been To. We are looking forward to adding some big features, such as global & area leaderboard or shareable content for social media. We will also continue working on performance, user experience, and design.
Our ultimate goal is to create an app that gets you off your phone and into the real world. An app that inspires to you take a walk, helps you get the most out of your next trip and allows you to see the world as something to be explored and enjoyed.
Built With
- cloudkit
- mapkit
- overpass-openstreetmap
- revenuecat
- swiftdata
- swiftui
- wiki-data
Log in or sign up for Devpost to join the conversation.