Inspiration
I grew up in the Alps in Austria and am an avid outdoor enthusiast myself. I love multi-day bike tours and hikes. With the existing route planning apps, I didn't have the freedom to plan my adventures the way I wanted to. So I developed my own app.
What it does
TouchTrails is a route planner that makes it easy to create, combine, and adjust hiking and biking routes with just a few taps. Users can plan multi-day tours, calculate distances and elevation, and export routes to their favorite navigation devices. The app focuses on flexibility and simplicity, so users can design routes exactly the way they imagine them.
How I built it
At the beginning I built TouchTrails as a native Android app using Java. Then, at some point I wanted to get it on iOS as well. I ported it using Kotlin Multiplatform which now allows me to have the same code base for Android and iOS. Thanks to RevenueCat's Kotlin Multiplatform SDK, porting the monetization part was very easy.
Challenges I ran into
- Balancing simplicity with advanced functionality for experienced outdoor users.
- Handling map and elevation data efficiently on mobile devices.
- Designing a gesture-based interface that feels natural and responsive. I think, that was the most challenging part. The input handling is quite complex and on top of that there are differences how Android and iOS handle touches.
Accomplishments that I'm proud of
After about a year of porting the app, I'm very proud, that the app is finally available for iOS.
What I learned
- For me, Kotlin Multiplatform works great. It was the first time I used it and I will definitely use it again.
- During the development of this app I also learned how to create screen layouts with SwiftUI.
What's next for TouchTrails
I plan to do some marketing activities and improve ASO.
Last but not least, I will listen to my users feedback to further improve TouchTrails.
Built With
- firebase
- google-maps
- koalaplot
- kotlin
- mapbox
- revenuecat
- swiftui


Log in or sign up for Devpost to join the conversation.