Project Info
Inspiration
We wanted to reimagine travel as something more than just sightseeing as a way to explore who you could become. Many professionals dream about living or working abroad, but it’s hard to visualize what that future might actually look like. We aim to turn travel into a personalized, professional, and emotional experience where users can explore cities through the lens of their career identity and aspirations.
What it does
PersonaVerse is an AI-driven travel and lifestyle platform where users input their professional persona (e.g., “UI/UX Designer,” “Software Engineer,” “Actor”) and a city they want to visit. The system then: Fetches persona-relevant data such as events, companies, conferences, and venues in the chosen city, including start times, locations, and contact information. Generates an AI itinerary that maximizes persona relevance, clusters activities by neighborhood, aligns chronologically, and syncs with the user’s Calendar. Stores user trip data (photos, timestamps, emotional captions, and geolocations) in Firebase for further personalization. Transforms memories into storytelling using OpenAI’s Image and Text APIs, the app creates an AI-generated narrative slideshow that visualizes the traveler’s experiences and emotions. The result is a personalized, meaningful, and imaginative travel journey where users see themselves in it.
How we built it
For our prototype stage, we used Creao to rapidly visualize the user flow and system logic. We integrated the following components into our technical stack: iOS App built to allow travel guides or companions to record travelers’ experiences, emotions, and locations throughout the itinerary. Live web scraping data using Bright Data for persona-based datasets to simulate the itinerary and API fetching Firebase for storing user trip data, itinerary details, and photo metadata. OpenAI APIs for generating narratives, captions, and slideshow visuals. Google MCP Servers to validate scheduling data and calendar syncs. This multi-layered system bridges data, AI, and design to create a holistic travel storytelling experience.
Challenges we ran into
Creao platform constraints — limited space and restricted code editing made implementing multi-layer logic difficult, so we had to modularize logic externally. Web scraping integration
Accomplishments we're proud of
Established a solid architecture for future scalability and real-world API connections. Designed an iOS app to record the emotional and experiential dimensions of travel. Fully integrated Firebase, OpenAI for live data handling and AI narrative generation.
What we learned
The importance of modular design when prototyping in limited or “black box” platforms. That a product’s value lies not only in technical completion but also in how it makes users feel and imagine their potential futures.
What's next
Verse Expand the calendar sync and recommendation engine to support dynamic scheduling and rescheduling. Enhance the narrative slideshow into a full AI-generated travel journal with video and voice narration. Scale to a web and mobile unified platform with richer UI and community features where users can share their “future-self journeys.”
TravelVerse
An iOS travel planning app with itinerary management, photo uploads, and sentiment tracking. Built for a hackathon project.
Features
✈️ Core Features
-
Trip Itinerary Display
- View travel itineraries generated via web scraping
- Real-time location info and recommendations
- Day-by-day detailed planning
-
Photo Upload with Location Tracking
- Upload photos during travel
- Automatic GPS location recording
- Photo-to-place association
- Camera and album support
-
Sentiment Tagging
- Tag photos with emotions (Happy, Excited, Peaceful, etc.)
- Multiple sentiment selection
- Custom emotion input
-
Data Sharing
- Photos and location stored in Firestore
- Accessible via web portal for team members
- Used for travel video generation
Project Structure
TravelVerse/
├── Models/
│ ├── Trip.swift
│ ├── Photo.swift
│ └── User.swift
├── ViewModels/
│ ├── TripViewModel.swift
│ └── PhotoViewModel.swift
├── Views/
│ ├── HomeView.swift
│ ├── ItineraryView.swift
│ └── UploadPhotoView.swift
├── Services/
│ ├── FirebaseService.swift
│ └── LocationService.swift
└── TravelVerseApp.swift
Tech Stack
- Language: Swift
- Framework: SwiftUI
- Backend: Firebase (Firestore)
- Architecture: MVVM
- Location: CoreLocation
Firestore Data Structure
Trip Collection (trips/{tripId}):
{
"userId": "string",
"cityName": "string",
"startDate": "timestamp",
"endDate": "timestamp",
"itinerary": [
{
"day": 1,
"date": "timestamp",
"places": [
{
"name": "string",
"address": "string",
"latitude": "double",
"longitude": "double",
"category": "string",
"description": "string",
"startTime": "string",
"endTime": "string",
"realTimeInfo": "string" //web scraping data
}
],
"notes": "string"
}
],
"createdAt": "timestamp",
"updatedAt": "timestamp"
}
Photo Collection (photos/{photoId}):
{
"userId": "string",
"tripId": "string",
"placeId": "string",
"placeName": "string",
"imageUrl": "string", // Firebase Storage URL
"caption": "string",
"sentiment": ["string"], // Emotion tags
"latitude": "double",
"longitude": "double",
"timestamp": "timestamp",
"cityName": "string"
}
Team Integration
For Web Scraping Team:
- Write itinerary data to Firestore
tripscollection - Update
realTimeInfofield with live information
For Web Portal Team:
- Read
photoscollection from Firestore - Use
latitudeandlongitudeto display photos on map - Generate timeline based on
timestamp - Download photos via
imageUrlfor video generation
Future Improvements
- User authentication with Firebase Auth
- Offline support with Firestore persistence
- Map view with route display
- Social media sharing
- Push notifications for itinerary updates
- Multi-language support
License
Hackathon demo project.
Analysis
View
Metric
- 4
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- SwiftIn code
- FirebaseClaimed
- JavaScriptClaimed
- Node.jsClaimed
- OpenAIClaimed
- PythonClaimed
- TypeScriptClaimed
1 of 7 appear in the indexed code. 6 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
98 KB
Source files
20
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
bingbingm2/TravelVerse
30 files · 132 KB · @ 694c5b3
Structure
Interface
3 files · 10%Screens, components and styles rendered to the user.
Application logic
18 files · 60%Domain rules, services and shared utilities.
+5 moreData & schema
3 files · 10%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Swift71%
- Markdown29%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.