TriLive is a real-time iOS transit tracker that shows live bus & train ETAs and search by location. Built as a summer project by Anthony “Ant” Qin and Brian Maina "B.M.M", we plan to deploy it as an App Store release. Powered by SwiftUI + Core Location and a Docker-containerized FastAPI + PostgreSQL + Redis backend.
TriLive is currently undergoing closed beta testing through TestFlight. To get involved, please contact us or join our beta directly:
Try it on the App Store!: Download
- Overview
- Features
- Architecture & Tech Stack
- Production
- Potential Updates
- Changelog
- Feedback & Issues
- Design Assets
- Contact
TriLive delivers live transit ETAs for buses and trains at nearby stops in a sleek SwiftUI interface. We paired a FastAPI backend with PostgreSQL for persistence and Redis for low-latency caching, all orchestrated via Docker Compose.
- Stop Search: Enter a stop name (e.g. “NE 28th & Powell”) or stop ID (e.g. 12345) and get instant matches. Fuzzy matching handles “&” vs. “and” and minor typos.
- Live Arrivals: Display the upcoming vehicles in the next ~60 minutes for your chosen stop, updated every 10 seconds. ETAs show both scheduled and real‑time adjusted times.
- Map Tracking: Tap an arrival to follow that bus on the map. A polylined path shows where it’s been; a moving icon tracks its current position.
- Push Notifications: Opt in to receive alerts when your bus is within 5 minutes or at departure. Perfect for when you’re cooking breakfast or grabbing coffee.
- Frontend: SwiftUI, Combine, Core Location
- Backend: FastAPI, Pydantic, SQLAlchemy, Uvicorn
- Database: PostgreSQL
- Cache: Redis
- Containers: Docker
- macOS with Xcode 13+
- Docker & Docker Compose
- (Optional) Python 3.10+ for manual backend runs
Our Dockerized FastAPI backend (Pydantic, SQLAlchemy) runs on Render with managed PostgreSQL and Redis, automatically building and deploying on each push to main. The SwiftUI front end calls the secure REST API for live ETAs, favorites syncing, and location-aware search.
- User accounts & cross-device sync
- Custom themes
- WatchOS companion app
v0.1.0
Found a bug or have an idea? Please open an issue: https://github.com/anthonyq7/TriLive/issues
See TriLive Mockups.pdf in the repo root for UI/UX wireframes.
Brian Maina – github.com/brianmmaina – bmmaina@bu.edu
Anthony Qin – github.com/anthonyq7 – a.j.qin@wustl.edu
