Inspiration
Festival travelers often manage flights, accommodation, packing lists, exchange rates, expenses, and group schedules across notes, spreadsheets, and messaging apps. This creates repeated work and makes it difficult to connect upcoming travel plans with past festival memories.
What it does
Festival Passport is a mobile-first, local-first travel companion designed specifically for festival trips.
Users can:
- create domestic and international festival trips;
- manage transport, accommodation, packing lists, currencies, and trip expenses;
- share selected transport and accommodation information through group codes;
- import travel and festival data in bulk;
- synchronize supported personal data across devices through optional email login;
- explore upcoming trips and past festival attendance through Festival World Map.
The core workflow works without registration. Personal planning information is stored in the current browser, while login and group sharing are optional extensions.
How we built it
Festival Passport is a static web application deployed through GitHub Pages.
The application uses browser localStorage as its local-first data layer. Supabase provides optional email authentication, synchronization, group itineraries, feedback storage, and realtime updates. Leaflet and OpenStreetMap power Festival World Map, while Frankfurter provides optional reference exchange-rate information.
Codex with GPT-5.6 was used to inspect and extend the codebase, implement reusable travel workflows, preserve backward compatibility, diagnose mobile interaction issues, and validate changes across desktop and mobile layouts.
How we used Codex and GPT-5.6
Codex and GPT-5.6 helped implement and refine:
- the reusable trip engine;
- CSV and TSV bulk-import workflows;
- responsive packing-list tools;
- group transport and accommodation synchronization;
- Festival World Map and historical archive views;
- mobile interaction and accessibility improvements;
- documentation, regression checks, and GitHub Pages deployment.
GPT-5.6 was used through Codex as a development tool. Festival Passport does not call the OpenAI API while the application is running.
Key decisions made by the builder
I made the final product decisions regarding:
- local-first storage without mandatory registration;
- separation of private personal data and shared group information;
- different structures for active travel plans and historical festival records;
- confirmation and recovery flows before destructive actions;
- the festival-specific information architecture and visual direction.
Challenges
The main challenge was expanding an existing festival-specific website into a reusable travel platform without breaking stored browser data or existing trip workflows.
Another challenge was keeping the application usable on mobile devices while supporting detailed planning tools, map interactions, bulk imports, and realtime group information.
Accomplishments
Festival Passport now combines planning and personal history in one application. It supports both immediate travel preparation and long-term festival record keeping while remaining usable without an account or installation process.
The project also includes an English judge guide, synthetic sample data, setup instructions, and an MIT-licensed public repository.
What we learned
Building the project showed that an AI coding agent is most effective when product boundaries and data rules are clearly defined by the builder. Codex accelerated implementation and debugging, while final decisions about privacy, scope, structure, and user experience remained human-led.
What's next
Future work includes stronger account-based data ownership, easier onboarding, additional import formats, and optional AI-assisted conversion of booking information into structured travel records.
Built With
- codex
- css
- githubpages
- googleanalytics
- gpt-5.6
- html
- javascript
- leaflet.js
- openstreetmap
- supabase
Log in or sign up for Devpost to join the conversation.