Inspiration
Traveling often means juggling receipts and messy spreadsheets. I used to track my expenses in Excel, but it was clunky, hard to manage on the go, and definitely not built for collaboration. I wanted something simple, smart, and designed for travelers. That’s why I created MyTravelBill, the effortless way to track and share travel expenses, whether you’re traveling solo or with a group.
What it does
MyTravelBill makes travel expense tracking simple for both groups and solo travelers.
- For groups, it lets you create a shared trip, log expenses in seconds (even via voice input), and instantly see how costs are split among participants.
- For solo travelers, it works as a personal expense tracker—helping you stay on budget, categorize your spending, and keep a clear record of your trip finances.
Premium features include multi-categories, and AI-powered voice input for effortless logging.
How we built it
- App: Compose Multiplatform for a shared Android & iOS codebase.
- Backend: Spring boot Kotlin.
- Database: MongoDB.
- Payments: of course RevenueCat SDK.
- AI (voice expense): OpenAI API.
Challenges we ran into
I usually develop for Android, but for this expense tracking app I needed an iOS version as well. Kotlin Multiplatform was a real game changer, especially with Compose Multiplatform. Handling permissions was still tricky, but community libraries helped a lot. The main limitation I faced was the lack of full Firebase support in KMP.
Since this app must be collaborative but users are often traveling without reliable network access, offline functionality was crucial. I think this is the trickiest aspect of the app.
On the backend side, this was my very first time building one, and delivering it in such a short timeframe was a big challenge. Thankfully, Spring Boot with Kotlin and Philips’ tutorials made the process much smoother than expected.
Accomplishments that we're proud of
- Building a cross-platform app with one shared codebase.
- Integrating AI-powered expense creation that actually works in real-life scenarios.
- Having a paywall and subscriptions ready from day one thanks to RevenueCat.
Getting early user feedback that confirmed the app feels simple and natural to use.
From a business perspective, I didn’t want subscriptions to be the only option, as they can discourage potential users. To lower the entry barrier, I implemented a dual monetization model: users can either make a one-time purchase for a specific trip or subscribe to unlock all trips. This flexibility allows me to capture both occasional users and power users, while maximizing overall revenue potential. This was easy to implement with RevenueCat.
What we learned
- Keep the UI focused: people want to log expenses in seconds, not navigate through endless menus.
- AI is powerful, but it needs careful prompting and fallback strategies to be reliable.
- RevenueCat made implementing subscriptions and entitlements dramatically easier than handling stores directly.
What's next for MyTravelBill : Travel expenses
- Marketing, marketing, marketing : Grow the user base and reach more travelers who need simple expense tracking.
- Expense analytics : Provide insights on spending habits so users can better understand and manage their trip budgets.
- Attach photos to expenses : Allow users to add images (e.g., a memorable restaurant or receipt) to make trips more vivid and personal.
Built With
- cmp
- kmp
- kotlin
- mongodb
- openai
- springboot
Log in or sign up for Devpost to join the conversation.