Inspiration
I am a travel enthusiast, and I have always enjoyed discovering new places and planning trips with friends. However, I noticed that trip planning is often scattered across many different tools. We search for attractions on one website, discuss plans in a group chat, compare budgets in a spreadsheet, check the weather in another app, and save recommendations across social media. Important details can easily get lost, and making decisions becomes difficult when everyone has different interests, budgets, and travel styles. That experience inspired me to build TripWeave, a mobile app that brings the entire group travel planning journey into one shared space. I wanted planning a trip to feel exciting and collaborative—not stressful or disorganised.
What it does
TripWeave is a collaborative group travel planning app that helps travellers plan a complete journey together. Each user creates a reusable Travel DNA profile based on preferences such as food, culture, nature, photography, budget, and travel pace. When the user creates or joins a trip, their Travel DNA is automatically included in the group profile. With TripWeave, users can: Discover destinations, local food, culture, and attractions Create trips and invite friends using a private invitation code Add their own restaurants, attractions, cafés, and activities Vote on places and view the group result in one Decide section Build and modify a shared daily itinerary Check live weather and travel-time information Record expenses, contributions, and travel memories Discover itineraries shared by the community Like, comment on, and save community posts Copy a community itinerary into an existing trip Create a new, editable trip directly from a shared itinerary TripWeave does not try to replace conversations between friends. Instead, it gives the group a clearer and fairer way to make decisions together.
How we built it
TripWeave was built with Flutter, allowing the application to support mobile devices while also being tested through the web. The backend was developed using FastAPI. It manages trip creation, group preferences, destination recommendations, voting, itinerary generation, community interactions, and budget information. I used Supabase for: User authentication PostgreSQL data storage Row-Level Security Realtime group updates Private storage and user data protection For live travel information, I integrated Open-Meteo for weather forecasts and OpenRouteService for route and travel-time calculations. The application follows a layered architecture so that the user interface, business logic, database operations, and external services remain separate. This made the project easier to test, maintain, and expand. I also designed the system so sensitive data stays private. Travel DNA details, votes, notes, photos, and private itineraries are only available to the appropriate users and trip members.
Challenges we ran into
One of the biggest challenges was moving from mock data to real, live services. Authentication, database migrations, API connections, weather data, routing, and the Flutter application all needed to work together. If one dependency failed, the app could appear unavailable even when the other services were working correctly. Designing a fair group decision process was another challenge. The original version separated voting and consensus into two different areas. During testing, I realised that this was confusing because both screens represented the same decision. I redesigned them as one Decide section where users can vote, see vetoes, understand the group result, and confirm the final shortlist. I also discovered that asking users to complete Travel DNA for every trip would become repetitive. I redesigned the architecture so Travel DNA belongs to the user’s profile and automatically follows them into every trip they join. The community itinerary feature required several improvements too. Initially, users needed to create a matching trip before copying an itinerary. The final design now asks whether they want to add it to an existing compatible trip or create a completely new trip directly from the community post.
Accomplishments that we're proud of
I am proud that TripWeave grew from a simple travel-planning idea into a working collaborative application connected to live services. Some of the proudest accomplishments include: Creating a reusable Travel DNA profile for every traveller Combining voting and group outcomes into one understandable experience Allowing members to add their own food and attraction options Generating editable itineraries using group preferences and constraints Building a community where users can interact with and reuse shared trips Protecting private trip data using Supabase Row-Level Security Integrating live weather and route information Supporting realtime updates for group planning Building a friendly interface that makes planning feel more joyful Creating automated backend and Flutter regression tests Most importantly, TripWeave now supports the complete journey from discovering an idea to turning it into a personalised group itinerary.
What we learned
This project taught me that building a useful application is not only about adding features. A good product also needs to remove unnecessary steps and make each action easy to understand. I learned how to design collaborative experiences where different opinions are visible without allowing one person’s preferences to dominate the group. I also gained experience in: Secure database and API architecture Authentication and permission management Flutter application development Realtime data synchronisation External API integration Network failure handling Responsive and accessible interface design Automated testing and quality assurance Converting user feedback into product improvements The most valuable lesson was to keep returning to the original problem. Every feature should make trip planning simpler, clearer, and more enjoyable.
What's next for TripWeave: A Collaborative Group Travel Planning App
The next step is to expand TripWeave beyond its current destination catalogue and support more cities, attractions, restaurants, and local experiences. Future improvements could include: Smarter recommendations powered by trained Travel DNA models Flight, hotel, and public transport integrations Interactive map-based itinerary editing Collaborative drag-and-drop scheduling Automatic expense splitting and settlement Offline access while travelling Push notifications for votes and itinerary changes Shared photo albums and travel journals AI-assisted itinerary suggestions Support for additional languages and currencies The long-term vision is for TripWeave to become the place where a trip begins, develops, and is remembered, from the first idea in a group chat to the final shared memory.
Built With
- app
- dart
- docker
- fastapi
- flutter
- github
- gorouter
- mobile
- open-meteo
- openrouteservice
- postgresql
- pydantic
- python
- realtime
- restapi
- riverpod
- sqlalchemy
- supabase
Log in or sign up for Devpost to join the conversation.