Live Melbourne public transport departures on your Pebble smartwatch.
YarraTrak shows live train, tram, and V/Line departure times directly on your wrist. Configure your favourite stations and get instant, glanceable info. To find out how long you've got before a service leaves, the app sends vibration patterns that encode the wait time, so you are aware of the time even when you're not looking at the watch.
- Live PTV departures with a second-by-second countdown
- Favourite stations for daily trips
- Platform info where PTV provides it
- Train distance info for metro services
- Vibration patterns for hours, tens of minutes, and minutes
- Support for trains, trams, and V/Line
- Up to 10 configured favourites
Install YarraTrak from the Rebble Appstore, open it once, then use Settings on your phone to choose your favourite routes.
The app includes a few demo entries so you can see live departures straight away.
YarraTrak uses a small FastAPI server for PTV data and the Pebble settings page. If you run your own server, set your PTV developer ID and API key, install the Python requirements, and run uvicorn server.api:app.
Build the Pebble app from the pebble directory with the Pebble SDK:
pebble build
pebble install --phone YOUR_PHONE_IPThe server includes a small internal dashboard for checking request volume, query volume, cache state, and recent service health. It is meant for the person running the server, not for public app users.
The watch talks to the server over WebSocket for live favourite updates. The server also exposes simple HTTP endpoints for station lookup, favourite departure checks, and text queries.
The optional Ask feature uses a key supplied by the user. Add an OpenRouter key in app settings if you want natural-language transport questions. If no key is set, the normal departure and vibration features still work.
The vibration pattern encodes the wait time:
- hours are long buzzes
- tens of minutes are medium buzzes
- minutes are short buzzes
For example, 1 hour and 23 minutes feels like one long buzz, two medium buzzes, then three short buzzes.
When the service is about to leave, the app switches to a short "now" pattern. If the ETA slips backwards, the watch gives a long pulse so you can feel the delay without looking.
- Flinders St to Belgrave
- Caulfield to Town Hall
- Barkly Sq/Sydney Rd to QVM/Elizabeth St
- Southern Cross to Bendigo
MIT
