FlowPass.ca
Route Outcomes, Not Tickets
A routing engine + capacity exchange for tourism. Travelers describe intent. You build flowing routes. Plans adapt in real-time.
Tourism Is Broken
Fixed Bookings
Travelers book weeks ahead, then plans change. Rigid itineraries break the moment something goes wrong.
Wasted Capacity
A 2pm tour with 3 empty seats is worthless at 2:01. Perishable inventory dies unsold every day.
No Adaptation
Rain hits. Crowds spike. Delays cascade. Traditional systems can't respond in real-time.
Intent Routing + Capacity Exchange
Traveler Describes Intent
"I have 4 hours. Food and culture. Keep it chill. I hate lines."
60 seconds. Vibes, pace, mobility, constraints. No fixed times. No rigid plans.
Engine Builds Route
Scoring algorithm weighs intent fit, time feasibility, crowd avoidance, operator reliability, and perk value. Produces 3–6 stops that flow.
Atomic Holds Lock Spots
MongoDB atomic operations. If shown, it can be held. Holds expire automatically. Capacity never lies. No double-booking.
Plans Adapt Live
Rain? Swap to indoor. Crowded? Route around. Changed mind? Swap any stop. Safe swap acquires new hold before releasing old.
5 Screens, City-Agnostic
Intent Capture
60 seconds to describe the perfect day
Live Route
Hold timers, confirm, swap, skip
Swap Engine
3–8 alternatives, atomic swap
Capacity Exchange
Live inventory market
Operator Console
Publish slots, flash perks, auto-offers
Production-Ready Architecture
Stack
- Flask 3.0 + MongoDB
- Gunicorn + Nginx
- 19 CSS themes
Payments
- Stripe Connect (operators use own accounts)
- Bitcoin Lightning via Strike
- Connected operator accounts
Background Jobs
- Hold expiry (60s)
- Congestion updates
- Auto-offers
- Continuous routing
Core Collections
slots— inventory + GeoJSONholds— TTL reservationsroutes— live sessionsrules— demand shaping
The Routing System
FlowPass.ca Identity
Canadian project domain and visual system
Complete Source
Every line, no obfuscation
Full Documentation
Spec, API ref, deployment guides
Deploy Configs
Systemd + Nginx ready
19 Themes
Nordic Frost to Cyberpunk
Capacity Rules
Atomic holds, safe swaps, and live availability
Routes that adapt as the day changes
Explore the intent engine, atomic holds, live capacity, and operator workflows.
Ask About the Project