Charon — Vision Document
Authors: Vergel Esteban & Robert Evans
Version: 1.0 | December 2025
The Idea: Your Travel Companion, Not Just a Ride
Charon is not a ride-hailing app. It's a travel companion.
In Greek mythology, Charon ferried souls across the river Styx—not adding vessels, but guiding passengers on journeys already in motion. That's our philosophy: add seats, not cars.
Every morning, millions of cars navigate Metro Manila's corridors with empty seats. Meanwhile, commuters wait for rides, adding more vehicles to already-congested roads. Charon connects these two realities—matching passengers with drivers already traveling their route.
Why "Travel Companion"?
Traditional ride-hailing answers one question: "Get me from A to B."
Charon answers a richer question: "What's the best way to get from A to B—right now?"
| Find a seat | Match with drivers commuting your corridor |
| Discover alternatives | See public transit, walking routes, or combination trips |
| Plan ahead | Pre-book by time band, not just on-demand |
| Stay safe | KYC-verified drivers, BLE/QR handshakes, SOS pipeline |
| Save money | Transparent fares; fuel-offset credits for drivers |
| Reduce impact | Every matched ride = one less solo trip |
The companion aspect means Charon thinks
with you about your journey—suggesting a 3-minute walk to a safer micro-stop, alerting you to a faster corridor, or recommending you take the MRT when traffic is brutal.
Core Principles
Add Seats, Not Cars — Fill existing commutes; don't create new traffic
Curb Discipline — Safe micro-stops, predictable pickups, minimal driver detour
Transparent Fares — Clear breakdown before booking; no hidden fees
Safety by Design — KYC, tracking, SOS, car verification, deviation alerts
Public-First Economics — Incentivize supply without penalizing passengers
Technology Choices
Maps & Routing
| Why | Superior offline support, custom styling, competitive pricing |
| Alternatives | Google Maps (fallback for geocoding), OpenStreetMap (data layer) |
| Features | Turn-by-turn, traffic-aware ETA, isochrones for corridor mapping |
Mapbox gives us the flexibility to visualize corridors, micro-stops, and detour budgets in a branded experience. Their Navigation SDK handles driver routing with traffic-aware ETAs.
Hosting & Compute
| Edge Compute | Cloudflare Workers | Global presence (300+ cities), sub-50ms cold starts, auto-scaling |
| Static/Web | Cloudflare Pages | Instant deploys, preview branches, edge caching |
| Realtime | Durable Objects | Stateful WebSocket at edge for live tracking |
| Background Jobs | Cloudflare Queues | Event-driven processing (fare calculation, notifications) |
Why Cloudflare? We're building for the Philippines first, but scaling globally. Cloudflare's edge network means a user in Manila or Cebu gets the same low-latency experience as one in Singapore or San Francisco.
Coding & Frameworks
| API | Hono (TypeScript) | Edge-native, lightweight, excellent DX |
| Web | React + Vite + TypeScript | Fast builds, ecosystem maturity |
| Mobile | React Native + Expo | Code sharing, rapid iteration, EAS builds |
| ORM | Drizzle | Edge-compatible, type-safe, SQL-first |
| Validation | Zod | Runtime validation, TypeScript inference |
Database & Data
| Primary | Neon Postgres (+ PostGIS) | Relational data, geo-queries, serverless scaling |
| Cache | Upstash Redis | Sessions, rate limits, hot data |
| Edge KV | Cloudflare KV | Config, micro-stop cache, feature flags |
| Blob | Cloudflare R2 | KYC documents, receipts (zero egress cost) |
Why Neon? Serverless Postgres with instant branching, automatic scaling, and PostGIS for spatial queries.
Authentication & Payments
| Auth | Clerk | Managed auth, phone OTP, number masking |
| Payments (PH) | PayMongo | Local rails (GCash, Maya, cards) |
| Payments (Global) | Stripe Connect | Split payments, driver payouts |
The Corridor Model
Unlike point-to-point ride-hailing, Charon operates on corridors—well-traveled routes where commuters naturally cluster.
Micro-stops are curated curb locations—mall lay-bys, side streets, building drop-offs—where pickups are safe and predictable.
Detour budgets protect existing passengers. A driver publishing their QC→BGC commute has a cumulative detour limit (e.g., 500m).
What Success Looks Like
| Metric | Target (Pilot, 90 days) |
| Match Rate | ≥95% of requests matched within corridor/time band |
| Pickup Accuracy | ETA within ±4 minutes |
| SOS Response | Median <60 seconds to human escalation |
| Seat Utilization | 1.8+ passengers per trip (vs. 1.1 solo driving) |
| Cost Savings | 30%+ cheaper than traditional ride-hail |
The Charon Difference
| Traditional Ride-Hail | Charon |
| Adds cars to the road | Fills seats in existing cars |
| Point-to-point | Corridor-based |
| On-demand only | Pre-book by time band |
| Surge pricing | Reverse-surge (incentivize supply) |
| Driver waits for you | You walk to a micro-stop |
| Anonymous transactions | Cohorts, buddy seats, community |
"Move fewer cars. Move cities forward."
Last updated: December 29, 2025