## Inspiration

Nowadays, website owners have access to a plethora of data on their customers. Valuable information, such as the average time spent on the website, the bounce rate, which pages are most visited, are readily available.

Unfortunately, in retail stores, there is very little data available to most store owners. Fitting with the theme of old and new, we wanted to find a way to modernize retail stores.

## What it does

Using already installed security cameras in stores, we use computer vision to track the position of customers in real time. With the position of customers, we extract valuable data including the number of customers in the store, the average time spent in the store, and the most visited parts of the store. All this data is presented in a beautiful web dashboard that a store owner can easily access.

Retail store owners can use this data to greatly improve their store's experience. For instance, a store owner may see that many customers come between 1:30 PM and 2:30 PM, but that the customer to buyer rate during that time interval is low. Such owner may want to increase the number of employees on the floor at that time to serve the larger number of customers.

## How we built it

Our people recognition software is built with tensorflow and computer vision. Using this algorithm, we were able to detect where customers are in the store and leverage this data to provide valuable insights to the store manager such as where the customers are populated or how many people are in the store at any time of day.

Our frontend is built with React and communicates with the backend through an API which we created.

## Challenges we ran into

At first, OpenCV was not working effectively for what we wanted to do. It was slow and half of our team couldn't even get it to work on their computer. So, we ended up switching mid-hackathon to tensorflow.

Another challenge was bringing all the components of the project together such as the backend recognition algorithm and getting it to send its data to the frontend, where it would either be charted, plotted, or listed.

## Accomplishments that we're proud of

We're proud of building a real, working, and beautiful project that can be applied to any retail business simply by adding our software to security cameras.

## What we learned

We learned a ton - from tensorflow object detection to designing our own APIs, we all had a blast at PennApps and look forward to improving our project even more.

## What's next for Camlytics

We have some pretty big plans for Camlytics including scaling our software to security cameras, adding features for multiple cameras, and testing our concept in retail stores.
## Inspiration

We were inspired on the way to Cal Hacks - in the days leading up to the event, Lindsey stayed at an Airbnb that was remotely accessed through a smart lock by August, who happened to be a sponsor of this hackathon. After talking to the company reps on the first day of the event, we brainstormed notable pain points for August customers, and how we might address their concerns.

We realized that many leasers on platforms like Airbnb, many of whom use smart locks due to the lack of keys, feel frustrated when renters sneak friends or family in beyond the home's maximum capacity, so we decided to tackle the problem in a non-invasive way that integrates with August's smart home ecosystem.

## What it does

The webapp notes the building's approximate population over time by counting the number of people that go in and out of the building. Whenever guests unlock the door to the home, the webapp begins accessing and analyzing outdoor footage from the doorbell camera using Google's vision API. The approximate flow of people over time is stored and made available graphically and numerically to the homeowner, making it easy and quick to determine when a threshold has been crossed.

## How we built it

We each chose to focus on different parts of the project. Kevin mostly worked on the Flask backend, which handles all API calls to August's devices and is hosted online so that August can notify our backend whenever an event has occurred on either the doorbell or lock. Mercy worked on integrating the Google Vision API into the backend, which identifies the number of people in view of the doorbell camera and allows the project to come together as a whole. Lindsey worked on data visualization, parsing the stored data and returning plots for the homeowner's dashboard by using matplotlib and other tools. Brian worked on the frontend, using Node.js and React to make API calls to our backend and parse stored data in order to create a functional and appealing user experience.

## Challenges we ran into

We ran into a lot of technical problems, mostly because we were unfamiliar with what we were dealing with. Performing the API calls, for instance, led to a lot of roadblocks as we ran into issues with CORS, caching, and more. We also wanted our computer vision techniques to be more advanced, so that we could accurately identify people going in vs. people going out, but we had some problems due to limitations on our technical knowledge.

## Accomplishments that we're proud of

Most of us are newer to hacking and we all worked with libraries and technologies we've never touched before, so we're proud of being able to work with a variety of tools and create something unique.

## What we learned

Just having the experience of working on a project has taught us a lot, and we think being able to focus on and work with a sponsor's product definitely elevated that experience. We also learned the power of friendship :)

## What's next for OctoberLock

There's a lot to be improved for the project: better computer vision to improve the accuracy of results, user authentication, processing video streams, bug fixes to improve consistency, and an expansion of features.
## Inspiration

We know the struggles of students. Trying to get to that one class across campus in time. Deciding what to make for dinner. But there was one that stuck out to all of us: finding a study spot on campus. There have been countless times when we wander around Mills or Thode looking for a free space to study, wasting our precious study time before the exam. So, taking inspiration from parking lots, we designed a website that presents a live map of the free study areas of Thode Library.

## What it does

A network of small mountable microcontrollers that uses ultrasonic sensors to check if a desk/study spot is occupied. In addition, it uses machine learning to determine peak hours and suggested availability from the aggregated data it collects from the sensors. A webpage that presents a live map, as well as peak hours and suggested availability .

## How we built it

We used a Raspberry Pi 3B+ to receive distance data from an ultrasonic sensor and used a Python script to push the data to our database running MongoDB. The data is then pushed to our webpage running Node.js and Express.js as the backend, where it is updated in real time to a map. Using the data stored on our database, a machine learning algorithm was trained to determine peak hours and determine the best time to go to the library.

## Challenges we ran into

We had an **life changing** experience learning back-end development, delving into new frameworks such as Node.js and Express.js. Although we were comfortable with front end design, linking the front end and the back end together to ensure the web app functioned as intended was challenging. For most of the team, this was the first time dabbling in ML. While we were able to find a Python library to assist us with training the model, connecting the model to our web app with Flask was a surprising challenge. In the end, we persevered through these challenges to arrive at our final hack.

## Accomplishments that we are proud of

We think that our greatest accomplishment is the sheer amount of learning and knowledge we gained from doing this hack! Our hack seems simple in theory but putting it together was one of the toughest experiences at any hackathon we've attended. Pulling through and not giving up until the end was also noteworthy. Most importantly, we are all proud of our hack and cannot wait to show it off!

## What we learned

Through rigorous debugging and non-stop testing, we earned more experience with Javascript and its various frameworks such as Node.js and Express.js. We also got hands-on involvement with programming concepts and databases such as mongoDB, machine learning, HTML, and scripting where we learned the applications of these tools.

## What's next for desk.lib

If we had more time to work on this hack, we would have been able to increase cost effectiveness by branching four sensors off one chip. Also, we would implement more features to make an impact in other areas such as the ability to create social group beacons where others can join in for study, activities, or general socialization. We were also debating whether to integrate a solar panel so that the installation process can be easier.