Inspiration
I am a frequent traveller — sometimes solo and sometimes with family or friends.
Over the years, I started noticing something that kept happening on trips.
Going on a trip is easy. Managing everything that happens during the trip is not.
You book a flight and get on it. You get into the car and start driving. You make an itinerary and everyone is excited to leave.
But once the journey actually starts, things change.
Plans change. People get separated. Someone takes a different route. A flight gets delayed. Expenses become difficult to keep track of..... A checkpoint gets missed... Someone may need help while the rest of the group is somewhere else.
None of these problems are particularly complicated on their own.
The problem is that they are all happening at the same time, across different people, different apps, and different phones. There are also several platforms one for planning, one for booking, one for chat where you create a Group to keep everything on track...
This is where I kept wondering:
Why isn't there one place that keeps the entire trip connected?
Not just the itinerary. Not just expenses. Not just location.
The people, plans, money, travel information, activity, and the unexpected things that happen along the way.
That question became ROADSE!!!
What it does
ROADSE is a travel app built around the idea that a trip is something of an experiences and not a collection of separate tools.
Annhh!!...what I like to call it is A TRAVEL COMPANION...or for a Tech Guy it A TRAVEL OPERATING SYSTEM!!...Yeah..! I built a "JACK OF ALL TRIPS"
On the serious note you can create a trip, bring people into it, plan the journey, manage expenses, keep important documents together, follow relevant travel information, share moments, and use AI assistance along the way.
There is also a Road experience for managing checkpoints and the progress of a journey, along with safety and incident-response features for situations where things don't go according to plan.
The idea is simple:
Keep the people, plans, money, information, and important events of a trip connected in one place.
The important part for me is that ROADSE isn't only meant to be useful before you leave.
It is meant to stay useful while you are actually travelling.
How I built it
The Android application is built with Kotlin and Jetpack Compose, with Coroutines, StateFlow, and Room handling application state and local persistence.
The backend uses Node.js, NestJS, PostgreSQL, Prisma, Redis, and Firebase Authentication, with Google Cloud Run running the production backend.
For AI features, ROADSE uses Google Gemini with an NVIDIA-based failover path.
I also use RevenueCat for subscription management and Google Play Billing for the Android purchase flow.
And honestly, building it solo doesn't mean I did everything completely alone.
I had helping hands from Antigravity and ChatGPT along the way — particularly with bug fixing, UI design, troubleshooting, integration, and wiring the different pieces together.
The product, architecture, code fixing decisions, testing, debugging, and release process were still something I had to put together and work through myself.
Challenges I ran into
Keeping everything connected...!!
One of the hardest parts wasn't building individual features. It was making sure that the different parts of the trip understood what was happening elsewhere.
A change in the trip can affect the people.
A travel change can affect the plan.
An expense affects the group.
A checkpoint can become unavailable for editing once the journey has progressed.
The application therefore has to understand not just what something is, but also what state the trip is currently in.
Keeping local and backend state in sync....
ROADSE has a local Android data layer as well as a cloud backend.
That means a change isn't simply:
tap button --> change screen
It often has to go through local state, network communication, backend validation, database state, and then back into the UI.
Getting all of those pieces to agree especially when networks fail or data becomes stale was one of the bigger engineering challenges.
Making AI useful without making the product depend entirely on it
AI is part of ROADSE, but ROADSE isn't an AI chatbot with a travel interface around it.
The AI needs to work inside the actual travel experience. Outputs still needs much improvision that I would agree...
I also had to account for what happens when the primary AI provider isn't available, which is why ROADSE has a failover path.
Building and testing as a solo developer
When you're building alone, there isn't another team waiting to catch the things you missed.
A feature can look finished and still have problems somewhere else.
So a significant part of building ROADSE has been testing, tracing bugs, checking regressions, and making sure that fixing one thing doesn't quietly break another.
That has probably taught me as much as writing the features themselves....
Accomplishments that I am proud of
I built ROADSE as a solo project from the ground up.
It brings trip planning, group coordination, expenses, travel information, AI assistance, and safety-related experiences into one shared trip environment.
The application has a real Android production architecture rather than being only a prototype or UI concept.
The backend, authentication, database, AI services, subscriptions, and mobile application all work together as one system.
I built an AI failover path so the AI experience isn't tied completely to a single provider.
I built the product through real release cycles, testing, debugging, production infrastructure, and Revenu Cat deployment.....(Actually this part about revenue cat I want to mention here only, revenue cat needs to harden its infra or provide more guide for integrating consumables with Google play store, What I felt was revenue cat is too focused on Subscription which i understand why but in the changing era of AI, consumables may act as an active resource, just what I felt while integrating I may be wrong....Key Constraint: Standard RevenueCatUI templates use a single shared purchase CTA and are architecturally geared toward subscription packages. Including the custom consumable AI Credits pack inside the same paywall template requires treating it as a selectable package tier under a shared CTA, or retaining a dedicated native sheet for standalone AI Credit top-ups...)....and this is the most proud I am of because I interaged the consumables with Revenue Cat and it works perfect..try purchasing AI Credits on my app!!!
The project has gone through dedicated regression testing and release engineering rather than stopping once the main features appeared to work.
What I learned
The biggest thing I learned is that a travel app isn't really about travel features. It's about what happens between those features.
Planning isn't isolated from expenses.
People aren't isolated from plans.
Travel isn't isolated from safety.
And when something unexpected happens, everything suddenly becomes connected.
I also learned that reliability is a product feature.
A beautiful screen doesn't matter much if the state behind it is wrong.
An AI feature isn't useful if it disappears when the provider has a problem.
And a feature isn't really finished just because the happy path works.
What's next for ROADSE
ROADSE is still very much a work in progress.
The next stage is about making the shared journey experience better and making ROADSE more useful when a trip doesn't go according to plan....AI needs more optimization...
I want to continue improving how groups coordinate, how ROADSE responds to changing situations, and how the different pieces of a journey connect together.
I want ROADSE to be something a person can actually rely on throughout a journey — before leaving, while they are travelling, and especially when something goes wrong.....THATS ALL..!!
Built With
- ai
- android
- cloud-computing
- coroutines
- firebase
- firebase-authentication
- firebase-cloud-messaging
- google-cloud-run
- google-gemini
- google-play-billing
- jetpack-compose
- kotlin
- nestjs
- node.js
- nvidia-ai
- postgresql
- prisma
- redis
- rest-api
- revenuecat
- room
- stateflow
- travel-technology
Log in or sign up for Devpost to join the conversation.