Inspiration
Planning a trip can be stressful. Between unpredictable weather, different trip purposes, and forgetting key items, it's easy to miss essentials. We wanted to create a tool that removes the guesswork and helps travellers pack smarter and faster, based on their destination, duration, and travel goals.
What it does
ZipTrip is a web application that:
- Let users log in with Firebase Authentication
- Allows users to create and save trips with details like destination, duration, and purpose
- Generates a customized packing checklist using Google's Gemini API and live weather data
- Let users interact with and check off packing items
- Stores trip data and checklist progress in Firestore, ensuring data persists across sessions
- Provides an Activity tab that suggests potential activities in the user's specified location, enhancing trip planning
How we built it
Frontend: React + Vite for fast development and dynamic UI Backend: Node.js with Express for Gemini API communication Authentication: Firebase Authentication (Google & Email login) Database: Firestore for storing user data and checklists AI Integration: Gemini API for generating intelligent, purpose-aware packing lists APIs used: Google Places API (for destination info), OpenWeather API (for weather data) -> All via Gemini API
Challenges we ran into
CORS issues between the frontend (5174) and the backend (8989) during development Handling merge conflicts and synchronizing local and remote Git branches Ensuring the AI-generated checklist was reliable, relevant, and cleanly formatted Structuring Firestore to handle per-user and per-trip checklist storage
Accomplishments that we're proud of
Successfully integrated real-time AI suggestions into a practical use case Built and deployed a working full-stack app in 24 hours Designed a user-friendly interface for both tech-savvy and casual users Navigated and resolved tough Git issues and conflicts collaboratively
What we learned
How to integrate and format AI-generated content into real-world applications Firestore's best practices for data modelling and real-time syncing Efficient frontend/backend communication using Express + Vite How to build and test a feature-rich app quickly under time constraints
What's next for ZipTrip
Enable trip sharing so users can collaborate on travel plans Add budget tracking and itinerary suggestions Include an Activities and Events tab to view fun things you can do during the trips Expand support to handle health/travel advisories
Built With
- express.js
- firebase
- firestore
- geminiapi
- github
- googleauth
- html
- java
- javascript
- node.js
- react
- tailwindcss
Log in or sign up for Devpost to join the conversation.