⚠️ THE PROBLEMS
We identified three main pain points affecting the quality of our journey on trains:
- Quick and concise ETA at your destination: right now it's something that you check before the trip begins, but once you're in transit it's hard to go back and find the bus or train that you're on, you end up scrolling back in time to recreate your trip which can be innacurate and time consuming.
- The lack of a unified platform for effective and instantaneous real-time announcements in case of delay or sudden stop or emergency. Currently, warnings come from either multiple twitter accounts or often incomprehensible voice announcements on the trains.
- Congestion and uneven distribution of people in the train’s carriages. How many times have you heard Transport NSW yelling at people boarding trains "Please move to this or that carriage"?
👍 OUR SOLUTION
For GovHack 2019 The Codefather developed TrainMate, a fully functioning mobile application for both Android and iOS that improves the life of commuters and people using the public transport system every day.
By scanning or entering the unique carriage ID in the app, TrainMate will find your route and allow you to select your destination and show a personal ETA for your trip.
We also include a visualisation to help evaluate the congestion onboard the train, letting the passengers choose a less busy carriage.
Additionally, TrainMate includes a messaging system to engage with other passengers on the train and receive broadcast announcements from Transport NSW in case of delay or sudden stop or emergency.
You're anonymous by default for privacy and safety reasons, so you can choose how you want to interact.
TrainMates mobile application is built in Dart, using the Flutter framework.
The backend consists of a series of AWS Lambdas that crunch the dataset coming from Transport NSW, enrich them and store them on Amazon Aurora. The chat component is built using Google’s Firebase framework.
The biggest challenge we faced is in the accuracy of the dataset and the ability to match passengers with the train they're travelling on.
We utilised an obfuscated carriage id based on the assumption that the raw dataset would have a means of mapping that to the true id (and thus not affect feasibility).
Alternative solutions include deploying AWS IOT-powered devices with cameras at key train stations to identify which trains and carriages are active on which routes.
Other options include GPS location matching with real-time train position, as well as utilising Bluetooth mesh for connecting passengers directly in the local area.
- TrainMate is a privacy-focused application that improves the quality of travelling with public transport while easing the congestion of train passengers.
- TrainMate spurs engagement and social interaction with other people on the train
- As highlighted in the Research paper from the University of Chicago "Mistakenly Seeking Solitude"*, having positive social relationships has been put forward as a key ingredient for happiness.
🤓 IMPROVEMENTS AND STRETCH GOALS
Some improvements and stretch goals we're considering
- Increase engagement with the social chat platform through gamification and content creation such as promoted topics
- Investigate supporting multiple channels or groups and direct messaging
- Add Natural Language Processing to auto-moderate chat messages
- Integrate multiple sources of information and alerts to provide higher value content
- Extending to other NSW transports like buses, light rail, ferries
- Extending to other networks throughout Australia integrating data from different sources
🎯 So, why would you use TrainMate?
- It instantly gives you the most important information for your journey
- It connects you to other members of your community safely and securely
- No personal information is transmitted or stored on our servers
🎳 The Team
- Alberto Camillo
- Farooq Ahmed
- Irwin Razaghi
- Jack Song
- Jono Gillett
- Mahesh Chauhan
- Martin Zhang
- Simon Wardan
- Android APK
- Note: this version ignores the carriage number and selects a current train trip at random so you can demo the app without needing to know actual carriage number
There are a lot of really rich data sources around transport in NSW and Australia, but most of the current usage revolves around what happens before you travel, aimed to help find the correct form of transport and information about that particular journey. At the core of TrainMate we use Real Time train data from Transport NSW datasets. The manipulation and use of these data allow the mobile app to provide a constant up-to-date ETA to people travelling by train every day.
Evidence of Work
Public Transport - Timetables - For Realtime
Description of Use: Static timetables, stop locations and route shape information in GTFS format for operators that support realtime.
Timetables Complete GTFS
Description of Use: Static timetables, stop locations, and route shape information in General Transit Feed Specification (GTFS) format for all operators, including regional, trackwork and transport routes not available in realtime feeds.
NSW Trains 4Trak GTFS & GTFS-R Technical Documentation
Description of Use: NSW Trains 4Trak GTFS & GTFS-R Technical Documentation Real time Sydney/NSW trains data is the core of TrainMate. We use trains' location and information to identify in which train the user is and what's the ETA for the user's trip's destination.
Sydney Trains Realtime GTFS & GTFS- R Technical Document
Description of Use: Sydney Trains Realtime GTFS & GTFS- R Technical Documentation. Real time Sydney/NSW trains data is the core of TrainMate. We use trains' location and information to identify in which train the user is and what's the ETA for the user's trip's destination.
Public Transport for the Future
🌟 Improving the customer experience of government services
Region: New South WalesChallenge
What are the key levers that can be affected to ease congestion in NSW?
Region: New South WalesChallenge