Red (App)
Projects | | Links:

Red is the official mobility app for Santiago that brings trip planning, real-time predictions, stop alerts and modern payment methods (bip! QR and automatic top-ups) into a single, user-friendly mobile experience.
Red (Red Metropolitana de Movilidad) is Santiago’s official mobility app. It combines trip planning, live arrival predictions and modern payment flows so commuters can plan, pay and travel with confidence.
Red (Red Metropolitana de Movilidad) is Santiago’s official mobility app, built to help millions of commuters plan journeys, get reliable arrival predictions, and pay seamlessly across multiple transport modes. I worked on the cross-platform mobile product where accuracy, performance and secure payments were the core product constraints.
How it works
At the core, Red fuses static GTFS schedules with real-time telemetry from vehicles to produce stable, actionable ETA predictions. The app aggregates data across buses, Metro and commuter rail, runs route ranking and alternative suggestions, and surfaces contextual alerts (incidents, delays, service changes) to keep riders informed.
The prediction layer blends scheduled and live feeds with smoothing and confidence scoring to avoid jitter and false positives. On-device caching and incremental updates keep the UI responsive while background syncs ensure predictions stay fresh.
Trip planning and payments are tightly integrated: users can plan a route and complete payment (bip! QR) without leaving the app. Notifications are targeted and personalized, driven by both server-side segmentation and local user preferences.
Challenges
One of the biggest technical challenges was reconciling noisy, partial real-time feeds with authoritative GTFS schedules. Naively overlaying telemetry produced jittery ETAs; we solved this by building a fusion layer that weights sources, applies temporal smoothing, and falls back gracefully to schedule-only estimates when confidence is low.
Payment integration required careful coordination with providers for tokenization, secure storage, and PCI-sensitive flows. We architected the payment UX so sensitive operations happened in isolated flows, reducing surface area for compliance and simplifying testing.
Performance on older Android devices was another constraint. Map rendering and route recalculation had to be optimized for memory and CPU: we implemented tile-based rendering throttles, incremental route diffing, and prioritized UI work to keep the app fluid under load.
Scaling prediction pipelines on the backend (GTFS transforms, telemetry ingestion, and the prediction engine) also demanded operational improvements — resilient consumers, backpressure handling, and observability to detect and mitigate data quality regressions quickly.
Key learnings
- Building a robust prediction system is as much about data hygiene and operational tooling as it is about algorithms. Investing in validation pipelines and clear signal metrics reduced regressions and improved ETA quality.
- Progressive enhancement for low-end devices matters: graceful degradation of visual elements and staggered updates preserved core functionality for the broadest user base.
- Payment UX is a cross-disciplinary problem: coordination between mobile engineers, backend teams, and payments partners is essential. Small UX choices (when to re-authenticate, how to show pending top-ups) had outsized effects on reliability and user trust.
- Instrumentation and staged rollouts are crucial. Feature flags and telemetry allowed us to test payment changes and prediction tweaks with a small cohort before a full rollout.
Tech stack
- Flutter for cross-platform mobile development.
- Mapbox for map rendering, vector tiles and route visualization.
- Firebase for analytics, notifications and remote configuration.
- Backend services (Python) for GTFS transformations, the prediction engine and payment orchestration.
- CI/CD with GitHub Actions, plus Firebase Crashlytics and other monitoring tools for crash and performance tracking.
Conclusion
Working on Red taught me how to balance product constraints with technical reality: delivering reliable ETAs required careful design across data pipelines, on-device processing and UX. The project sharpened my skills in real-time data fusion, payment integration, and shipping resilient mobile features at scale — all while keeping user trust and performance front of mind.
Red remains a showcase for building mission-critical mobility features that must be accurate, fast and secure for a large, diverse commuter population.