Stop arguing. Start voting. Just go.
VotePack is a group travel planner that turns every decision — destination, activities, itinerary — into a quick democratic vote. No login required.
python scripts/setup.pyOr manually:
npm install
cp .env.example .envOpen .env and add your key:
VITE_GEMINI_API_KEY=your_key_here
Get a free key at Google AI Studio.
npm run devpython scripts/seed_trip.pyThis writes a mock trip to public/seed_trip.json. Load it in-browser via the console:
// Paste this in the browser console after loading the app
const trip = await fetch('/seed_trip.json').then(r => r.json())
localStorage.setItem('votepack_trips', JSON.stringify({ [trip.code]: trip }))Then navigate to /trip/DEMO01/dashboard.
npm run buildpython scripts/validate.pypip install reportlab
python scripts/export_pdf.py --trip public/seed_trip.json- React 18 + Vite
- Tailwind CSS
- React Router v6
- Leaflet / react-leaflet (map voting)
- Framer Motion (animations)
- Gemini 2.5 Flash (itinerary generation)
- localStorage (no backend required for MVP)