Inspiration
The idea for this project came when one of our teammates was denied entry into Walmart because there were too many people in the store. While it is absolutely essential for stores and businesses to keep track of the number of people in a store at a given time to maintain social distancing and flatten the COVID-19 curve (this is a legal requirement in ontario at least) , we couldn't help but wonder wouldn't it be great if that number was made available to the public in real time? People Count AI was born to do just that! People Count AI allows Businesses/stores to record the number of people in their buildings in real time and to publicly post this number on the People Count AI website. Thus, users will be able to see in real time the number of people in a store and make an informed decision as to whether to shop in that store or not. By allowing customers to see the number of customers already in a store at a specific time, People Count AI helps customers avoid stores near max capacity and find stores with less people. Thus, during the COVID-19 pandemic, People Count AI can mitigate store overflow, decrease COVID-19 transmission between customers and employees, and improve the overall customer experience (since customers can now choose stores with the least number of people and avoid having to line up outside the building).
What it does
People Count AI is a web application for both businesses/stores and customers. Businesses/stores can create their own web account containing basic information like Company Name, Address, Company Description, Max Capacity, and of course a tally for recording the number of people in the store. This information is then stored on the website’s MongoDB Atlas database and made public to users on the website. Businesses can either use their web account to manually tally up the number of people in their stores, or, if they have access to security cameras that can record customers coming in and out of the store, they can use People Count AI's inbuilt Machine Learning program to do the counting for them. Users of our website will then be able to search for their desired store from the web account database, see in real time how many customers are already in a store, and decide whether they should shop at the store or not. Additionally, when users search for a store, the website will always first show the stores with the least amount of people.
How we built it
We used Node.js to manage server side programming and program functions that allowed the front end programmer to update, add, and delete rows from the MongoDB Atlas Database. HTML, CSS, and Bootstrap were used to develop the front end of the website. Javascript was also used to create a Machine Learning algorithm that tallied customers coming in and out of a store.
Challenges we ran into
Most of us were not comfortable with Javascript programming, so many of us had to find a way to learn the language in a very short period of time. We also encountered some issues with the Machine learning algorithm. Specifically, we were using an API that could only count people in a photo and not a video. Thus, we had to develop a program that turned a recorded video into multiple snapshots and then ran the Machine Learning algorithm on each snapshot.
Accomplishments that we're proud of
We were able to create a fully functioning website within only 24 hours. Many of us also had to learn new languages overnight like JavaScript and Node.js.
What we learned
We learned to push ourselves outside of our comfort zone. No one in the team has created such a large and complex website before, and most of us were not comfortable with Javascript programming at all. Thus, we didn't think we could pull this off. However, by working together as a team to learn a completely new programming language within 12 hours and spending virtually every hour of the hackathon coding the website, we were able to finish the website in time. From this hackathon, all of us gained invaluable programming experience and experience in full stack web development which will be useful for future hackathon projects.
What's next for People Count AI
We wanted to make People Count AI a product that can be accessed and used easily by the public. Thus, we plan to introduce email authentication and other forms of authentication and security a professional website should have. We also plan to edit the store search bar so that searches account for both distance from user and the total number of people in the store. To do this, we will have to familiarize ourselves with a Geocoding API. We also plan to introduce a customer account, so customers have the option to save their searches.
Log in or sign up for Devpost to join the conversation.