Inspiration

Boris and Co's ridiculously obscure and convoluted everchanging rule set for living day to day life in the COVID climate. We wanted to be able to know if it was ok to meet friend's at a cafe in our current tier without having to digest the essay that is the governments website.

What it does

The Corona Decoder is an online chatbot that allows the user to enter almost any question regarding the corona virus restrictions. The bot logic might then ask for some extra information such as postcode (to determine area tier), if the query is associated with indoor/outdoor events and the number of people involved with the query. The bot will then process all of this information to produce a concise answer to the users question about the rules in their current lockdown tier.

How I built it

The back end is a python web server built using flask. This is hosted using Google Cloud platforms on one of their Linux compute engine servers. The front end UI was created using HTML and bootstrap CSS. Javascript and JQuery were used to dynamically update the page and pass information back to the server, where a python function call would invoke the chatbot logic. Some simple natural language processing is applied to the data to identify what is being asked (is the query about a meetup, exercise, symptoms, etc). The user will be prompted for a postcode to ascertain local lockdown rules for their tier and also search for rule exceptions such as those associated with special occasions, parental visitation, protests, etc. The bot will then provide the appropriate answer along with along with any additional information surround that rule that could be of use. CockroachDB was used to store the various tables and fields of words, themes, synonyms and responses. Domain.com was used to give our service an easy to remember URL. We even designed a little logo to make the site more visually appealing and user friendly.

Challenges I ran into

Analysing the rules and deconstructing them into themes/topics that would work with the database tables was difficult. The numerous exceptions to the rules made this task even harder. Endless issues with query's being misinterpreted (some of which were rather comical). WHEN THE API WENT DOWN!

Accomplishments that I'm proud of

Developing dynamic response HTML page with JQuery. Making a webpage that actually looks _ somewhat _ professional. Enabling the bot to deal with a huge range of different possible input query's that address certain specific sections and exceptions to the rules. Tying together the front end and back end logic without too many hiccup's. Creating something that's both topical and useful (and fun xD).

What I learned

Natural language processing. How to interface with CockroachDB. How to dynamically update webpages. How to spin up a google compute engine VM in less than 5 minutes!

What's next for Corona Decoder

Make it an encyclopedia for all covid related query's!

Share this project:

Updates