Inspiration

We found that there was no easy way to find important information on the requirements and essential things to note about overseas travel, particularly for non-vacation reasons. We wanted to create a more efficient and fast way of accessing all the (accurate and official) information through an all-in-one platform. We also decided that focusing on requirements and more essential information would be a viable way of tying in challenge statement 1 and 2. We were also inspired by the emergency notification system managed by the Ministry of Foreign Affairs (MFA) which sends out essential information and urgent emergency updates to Singaporeans residing or travelling overseas. We felt this sort of notification system with direct communication with the user would be more engaging and filled with potential for personalising the information given.

What it does

sgConnect is a Telegram chatbot which provides some essential information and links to government websites in response to a specific country and reason for travel selected by the user. Currently, the countries supported are _ US, UK, Australia and Singapore _ . Some examples of the topics sgConnect can provide information on are Visa Requirements, links to government Visa application websites and the countries' healthcare policies for foreigners. We have further divided the information around the user's reason for travel - are they a short-term visitor to the country? An international student? Or an expatriate? We have further added a section on Singaporeans and foreigners travelling to Singapore which centres around official COVID-19 information for returning Singaporeans and an expatriate manual for foreigners. Lastly, we have a 'travel declaration' section which takes inspiration from the MFA E-registration in that it would send emergency updates regarding the user's inputted travel destination and duration. This last function is not fully implemented in our code.

How we built it

We created the telegram bot using the @botfather bot on Telegram and the telebot API. The bot was built in python and we used one main file for all the functions. This was after initial research into the official and essential information we would want to provide through the chatbot.

Challenges we ran into

We built the code on a collaborative Integrated Development Environment (IDE) called Replit. We did not host the code on a server hence we had to constantly rerun it with any changes made, to try the bot in real life and also when it disconnects. We also were unsure where the privacy boundaries would be for certain functions like the travel declaration which we have not fully implemented.

Accomplishments that we're proud of

As this is our first hackathon experience for all 3 group members, we are glad that we have a functioning product to submit! On top of a basic chatbot, we are also glad we managed to add little tweaks and alignments to make the whole experience more intuitive and legitimate such as adding the inline keyboard buttons.

What we learned

  1. Design thinking - we had to consider the holistic experience of the user and how they would be searching for a particular piece of information. What would be the best way of personalising the information provided? What would be the most sensible way of receiving input from the user who would have to type/select an option? The commands provided are hence by topic such as healthcare, driving, visa - such that the user knows immediately what range of topics there are which also functions like a checklist of potential essential information to look up.
  2. Weighing pros and cons between using different products to create a solution - choosing a chatbot above other options like an app, or some other notification system. Ultimately, we decided it would be feasible to implement and also provide a direct interaction with the user over a convenient platform that is not mobile-only.
  3. Inline querying - the options surrounding it and how to implement it.

What's next for sgConnect bot

  • Scale up the reach of the bot by including more countries and perhaps more information topics
  • Host the bot's implementation on a server like Heroku such that it can be used all the time
  • Extract data from a database rather than hardcoding the information to the bot - also facilitates updates for information to remain up-to-date
  • Create a better flow of states where user would first input/select country and reason for travel before choosing from available services instead of having to repeatedly type in the same information

Built With

Share this project:

Updates