Being a citizen in one of the busiest countries, it is a daily challenge to commute to your destination on time. Public transport directions and signage are disorderly and confusing sometimes and properly organized transport data is hard to find. The average person in travelling a new city loses about 3 hours a day commuting. We want to help optimize this and make sense of the chaos. Imagine if we want to take a taxi, we need to open the Uber app. If we want to take a bus, we need to open CitiMapper. If your wallet does not have enough cash, you need to open Google Map to find the closest ATM. Imagine after completing all these searches and queries across multiple apps, our lives might have already lost at least 5 minutes (1-2 minutes per app). In some serious circumstances, we could even miss a date.
What it does
Travel Partner is Waze for public transport. We are a travel and navigation chatbot that solves the problem of travelling by providing intelligent commuting directions and route analysis for all countries. Travel Partner is a bot who recommends transit route from Point A to Point B by any means of transport.
- tells you when the next public transport will arrive
- tells you how much time you will need to commute
- shows you the closest parking area.
- helps you discover point of interests around a certain location
- just LOVE TRAVELLING
How I built it
We started this project around one month before the deadline and each of us are responsible for different tasks. One is responsible for coming up bunches of utterances and entity keywords that teaches Travel Partner with the help of Wit.AI. One focuses on building the backend infrastructure. One focuses on integrating the bot with Facebook Messenger and one coordinates and manages the team to make sure the project runs smoothly. We used Python as the programming language, Wit.ai for Natural Language Processing, HERE API as the data source, Redis for session caching and Facebook Messenger as the bot interface.
Challenges I ran into
The biggest challenge for us is to write a bot because none of us has previous work experience. In addition, we also set high expectation on the bot to make sure it does not look like a traditional rule base FAQ chatbot. At the beginning, we struggled on caching information within a user session by creating multiple threads and variables. Until then, we figured out that it was a lot simpler to use an external in-memory database to store the information. Another challenge was not from the technical perspective, but on how to compromise each other’s idea as a team. Right at the beginning of the project, we spent 5 hours sitting in a room brainstorming ideas on how to implement a chatbot that helps people’s lives. From writing bots that checks the amount of litter in a rubbish bin to bots that recommend products from online stores, we assess our project idea not only based on the judging criteria, but also on whether the product is usable and sustainable, technically feasibility, last but not least our time availability.
Accomplishments that I'm proud of
We built a travel companion from scratch as a team that could help us and other busy man to save time.
What I learned
From technical perspective, we learnt that it has become a lot easier to apply AI to solve problems with the help of many pre-trained model. This hackathon also strengthens our skills on Python and the concept of Multi-Threading (though we did not apply it to bot). Last but not least, we learnt about teamwork. We learnt how to make compromise with different idea and opinions, compensate on each other’s workload and share knowledge across one another. As all of us comes from different education background, we can feel that each of us are bringing our expertise and knowledge to achieve our common goal.
What's next for Travel Partner
As there are still limited number of questions related to travelling that Travel Partner could answer, we want to gather feedback on what other questions that Travel Partner should learn to answer. We would love to introduce Travel Partner to our friends and share it with the community at Product Hunt. In addition, we could foresee that the complexity of the question structure would increase when Travel Partner “knows more people”. For instance, Travel Partner can now deal with questions like “from A to B by X”, however some users may be a perfectionist who need “the cheapest way from A to B by X with the least traffic jam”. This would be a challenging task for us to come up with an efficient coding logic and infrastructure to achieve this. In the meantime, it is also interesting to integrate idea that Travel Partner could help during our commute. For example, setting an alert to remind us getting off the train. Otherwise, we will miss our dates again.