Inspiration for Building the project: Today we live in a world where data is all around us and accessible from the web at the tip of our fingers, but sometimes this data is too large or isn't in a consumable format. For that reason, our team decided to build a tool to help answer peoples questions about the world and its countries by making a heat map search engine. Our app's goal is to help people better understand the world we live in and to get a better understanding of the different countries that make up this world through answering diverse questions anyone has ready for our app.
What Does the App do: Our application takes in any question a user has about the world population and expresses it through a heat map visualization. For example, let's say we want to visualize the number of Michelin star restaurants per country, we can do that.
Features: 1) Suggestion Feature: Since our team is new at answer question, we may not be the most reliable at it. For that reason, if we are unable to get the answer to your question, we will suggest to you a few alternatives that may be able to answer the question you have or give you some insight at the least.
2) We have a legend that allows users to determine what data exactly they would like about their question. For example, while searching a question about the pandemic, the user will have the choice to view information about deaths, cases or other options and will be able to change between the two and see the map reflect this changes in real time.
3) Our map has a few interactive features that make the data fun to play with. Firstly, you are able to click onto any country in order to zoom into it and get a better look at it. Secondly, hovering over any country will provide a cool tooltip that gives you more precise data about your question.
4) Our map allows for users to switch between different map projections, currently we support flat map and a spinning 3D Globe of the earth to show case the data.
What was the difficult challenge: The most crucial portion of our application is how to build a natural language interface to reduce the complexity of data querying for our end user.
We want the user to come and interact with the search bar the same way they come up with a question. To achieve this answer-all functionality, we need to figure out how to find a web-source for the given question, then proceed to parse this source and structure the data to be consumed by the data visualization consumer. There were multiple technical challenges while building our solution: the algorithm must be able to dynamically parse different kinds of web pages, must be able to understand their different structures and must be able to extract the data required.
For our project, we have a Front-end and backend application. The front-end application is running on Next.js (a server side rendering react framework), to run the html and we are leveraging D3.js for the custom visualization required by our app. For the backend, the core of it is written in Python, leveraging the flask framework to create a responsive api. The backend portion that is responsible for fetching and structuring the data uses Pandas, BeautifulSoup and DBPedia (the biggest knowledge based database).
Discord: QuanNguyen#2524 PesceTheFish#0577 Niv#6521 Lone.Soldier#9667

Log in or sign up for Devpost to join the conversation.