Live at tryprtravel.com
Trypr is a full-stack trip planning web application built because spreadsheets and Google Maps weren't enough. It brings route building, itinerary management, packing lists, shared budgets, and group chat into one place — designed for people who take trip planning seriously.
| Layer | Technologies |
|---|---|
| Frontend | Flutter (Web), Dart |
| Backend | Python (FastAPI), Docker, Cloud Run |
| Database | Firebase Firestore, Firebase Storage |
| Auth | Firebase Auth, Google Sign-In |
| Payments | Stripe |
| Maps & Routing | Google Maps Platform, OpenRouteService, GraphHopper |
| AI | Firebase Cloud Functions + LLM-backed suggestions |
| Deployment | Hostinger (VPS), Google Cloud Console, Google Cloud Run |
- Multi-stop route planning with support for driving, transit, and waterway (portaging/paddling) routing modes
- Per-segment transport mode selection — mix and match driving legs with canoe portages on a single trip
- 2D map view (Google Maps embed) and an interactive 3D globe view for visualizing trips globally
- Address autocomplete, geocoding, and reverse geocoding via the Google Maps and Geocoding APIs
- Route caching layer to reduce redundant API calls
- Friend system with friend requests and discovery by username
- Shared trip ownership — invite friends to co-plan a trip in real time
- Group chat embedded inside trip detail pages
- Collaborative packing lists with per-item assignment
- Shared expense ledger per trip, split across participants
- Expense categories (Accommodation, Food, Transport, Activities, Groceries, Shopping, Other)
- Per-person cost breakdown
- AI-powered accommodation and itinerary suggestions via Firebase Cloud Functions
- Suggestions are contextual to destination, travel dates, and user preferences
- Stripe-powered subscription billing (monthly / yearly plans)
- Checkout and billing portal flows handled server-side via Cloud Run backend
- Internal dashboard for managing users, trips, and verified trip content
- Role-gated access via Firestore security rules
- Curated public trip routes with dedicated detail pages and map views
- SEO-optimized with JSON-LD structured data, Open Graph, and canonical URLs
- Installable PWA with custom splash screen, manifest, and app icons
- Mobile-responsive layout with a separate mobile home screen
tryprtravel.com (Flutter Web — Hostinger VPS via Google Cloud Console)
│
├── Firebase Auth — user identity & Google Sign-In
├── Cloud Firestore — trips, users, friends, packing lists, expenses
├── Firebase Storage — trip photos and user assets
├── Cloud Functions — AI suggestion endpoints (Node/Python)
│
└── Cloud Run (FastAPI) — premium billing logic, Stripe webhooks,
background jobs (Python 3.13, Docker)
Firestore security rules enforce per-user data isolation and role-based access for admin features. The Flutter app uses platform-conditional imports (_stub / _web file pairs) to keep web-only APIs out of native build targets.
Prerequisites: Flutter SDK ≥ 3.7, Firebase CLI, a Firebase project with Auth / Firestore / Storage enabled.
# Install dependencies
flutter pub get
# Run on Chrome (web target)
flutter run -d chrome --dart-define=GOOGLE_MAPS_API_KEY=<your_key>
# Run the FastAPI backend locally
cd app
uvicorn app.main:app --reload --port 8080
# Or via Docker
docker compose up- Hiking / backpacking route mode
- Bikepacking route mode
- Equestrian route mode
- Live trip mode — real-time location sharing and photo upload during active trips (full-quality, no compression)
- Expanded waterway routing (lakes, rivers, portage detection)