Bad Hombres!

A Trump Travel Ban App!

Visit our landing page at


Since Trump introduced his travel ban, many people have been feeling different emotions - anger, confusion, disappointment, or maybe even happiness. Based on day-to-day interactions, our team members realised that while most people aren't actually adversely affected by the travel ban, it has certain brought about paranoia and confusion about travelling and the possibility of not being able to return to the US after travels.

What it does

We decided to build an interactive chatbot that allows users to answer some key questions: name, age, as well as nationalities and visas which they hold. Through engaging in a natural conversation with our chatbot, users provide us with the information we need in order to analyse their individual circumstance. After running the inputs through the logic we built on the backend, users will receive a score which indicates their risk of not being able to return to the US - high indicating a high possibility of such situations occurring (for example, due to the particular user being a citizen in one of the affected countries in addition to not having a suitable visa), while low indicates a near-zero possibility that the user will be banned from returning to the US. Because the internet is filled with a lot of hearsay and untruths, we also want to help the user identify reliable sources of information pertaining to immigration. Hence, based on pattern-matching with the information we collect from the user (e.g. specific nationalities and visas), we also display credible articles that discuss situations similar to those that the user face, giving them sources of information that are more likely to be accurate and reliable, and thus giving the user a better opportunity to evaluate their own situation based on multiple sources of information.

How I built it

Our mobile app is built using React Native, and we chose it because we found it to be a framework that can be quickly implemented, and is flexible as well as dynamic. For our app's interaction with users, we have chosen it to take the form of a chatbot powered by IBM Watson's Conversation service for two reasons. Firstly, we hope that the user experience of using this app will be a natural one, as if the user was carrying out a conversation with family or friends about the matter. Many users seeking information on Trump's travel ban feel panicked and angry, so our app should be intuitive and natural to use. Second, IBM Watson is able to parse the relevant information that we require for our backend logic, using a combination of natural language processing as well as machine learning. Because of the large number of possible combinations when it comes to nationalities and visa types, we found it extremely useful that IBM Watson's Conversation service allows us to declare intents, entities and dialogs that are relevant to our app's use case, and subsequently allow us to train it using specified inputs.

Accomplishments that I'm proud of

We're such a cool team, and we're happy to learn React Native! Yay!

What's next for Bad Hombres

Because of the time constraints of this hackathon, we did not fully implement the pattern-matching and scraping of online articles and journals for snippets of reliable information for users to read and evaluate. This is something that we wish to work on post-hackathon - a good algorithm to pattern-match between user's profile and online sources of information, and the ability to scrap out such information to be presented to the user in an easily understandable form. Secondly, we are also considering to add a video conferencing feature for users who turn out to be at high risk of not being able to return to the US under Trump's travel ban. We hope to allow this group of users to connect with lawyers or ACLU advisors at a click of a button using our app, so that they worries may be addressed and they may quickly identify a suitable course of action.

Share this project: