Railway has been integral part of every Indian household, but most of our time goes into finding Train status, schedule , PNR inquiry etc. Searching multiple mobile apps and websites is tedious and calling railway inquiry directly is time consuming task.
Here, RailindiGo comes to the picture. It is India's first personal Railway assistant on messenger which lets you make all your Railway inquiries directly in conversational way.
Its unique, Its simple, Its Indian !!!
What it does
Currently RailIndiGo has 4 basic inquiry features, user can ask for any of the below features in normal conversational way as he/she talks to any other human being e.g. "Trains coming to pune in 2 hrs", "Train 12321 schedule" etc it also remembers user's context for the followup questions like "Show me trains from jabalpur to mumbai" follow up by "and from Jabalpur to Pune?"
- Train schedule
- Live station
- Train running status
- Trains between status
- PNR status (in progress)
How we built it
We used API.AI as a middle ware, integrated it with our facebook bot application which helps us in natural language processing, and API.AI connects with our webhook service which we wrote on node.js which is running on AWS, based upon end user input API.AI calls webhook with different actions and these actions are used on backend to understand user request and process it. Our webhook service than connect to railwayapi.com to get desired info.
Challenges we ran into
- As of now we are using railwayapi.com to get railway related info, which is a third party vendor, so sometimes it works slow and few times it goes down as well, also its not that much rich as compare to indian railway data, but we are trying hard to contact Indian railway in different ways but as of now did not get any success on that front.
Accomplishments that we're proud of
RailIndigo is live now, and people already started using it.
What we learned
As this is our first chat bot application, so we explored a lot about how bot works and this helped us in learning that how AI space works, what all platforms are available, how to integrate with them, apart from this learned about infrastructure setup on AWS from stretch, also we explored about facebook messenger APIs for the first time, and used them to send quick replies and all which is also great learning for us to enrich our bot.
What's next for RailIindiGo
- Save user interaction in AWS dynamo DB to analyze his/her preferences.
- Enable user to create alerts on update what they want. (e.g. When user's PNR status get changed he wants update from railindigo, or when train crosses any station etc)
- Give user his favorite or recently used train number or station codes as quick replies depends upon action.
- As soon as we get authentic data source from Indian railway, we will migrate to it because that will be more reliable and will have rich content.