## Inspiration

We wanted to use Telus IoT network to support farmers who work in rural and often isolated areas. In addition there are many towns where there is only one grocery store making fresh produce inaccessible to many people.

## What it does

AuTomato is an IoT machine that enables consumers to buy fresh produce that has been stocked by farmers at accessible locations.

## How we built it

We used the Telus IoT to supply Cellular data for the AuTomato machines that will be placed in remote locations. We trained a machine learning model using computer vision to detect the freshness of food.

## Challenges we ran into

We found it difficult to integrate all the different components together. We were fairly new to computer visiion and the RaspberryPis. We also found it hard to convert the data sent in bytes from the camera into ASCII.

## Accomplishments that we're proud of

We are able to build and train a deep neural network model that can detect and distinguish between a fresh apple and a rotten one with high accuracy. We implemented various sensors to collect data for needs analysis for local produce and allow access to fresh produce in remote communities and for farmers to be able to sell their produce in a wider range of areas aside from just farmers markets.

## What we learned

We learn a lot about how to integrate multiple aspects of a system utilizing databases and cloud storage. We also learned about the architecture of a convolution neural network and about the various communication protocols such as I2C and Serial, which we integrated into this project.

## What's next for AuTomato

We hope to incorporate more functionality into our project that will allow farmers to monitor the stocks of each AuTomato machine in real time.
## Inspiration

Many low-income families and people without permanent homes in Canada are suffering from food shortages. Since 2017, it has been reported that on average, Canada throws away over 2 million tonnes of edible food per year.
Food waste is costly and damaging to the environment, while serving no purpose for those in need. Our goal is to minimize waste by bringing unsold food and supplies from charitable retailers to those in need.

For this hackathon, we wanted to use SMS to communicate with users since statistics Canada reports that almost all individuals with a phone has SMS service while not all of them have access to a stable source of internet connection.

## What it does

Using a webapp, the goal is for suppliers, farmers, restaurant owners, etc. to input their information, location, item they are willing to give, and the timeframe that the item will be available. The app, which uses a database holding users' information, will send an SMS to those within the vicinity letting them know the items they can claim. The users then will have a chance to respond if they will pickup the item, and if not, it will go to someone else, incrementing by distance and how recent they received aid.

## How we built it

This webapp was made with react on the frontend and python on the backend. Twilio was the service used to send SMS from the backend database to users. We used a Firestore database to store user information with their phone numbers as a key. The webapp is takes user and suppliers entered information into the database which will then handle all events and replies.

## Challenges we ran into

Creating a database was a challenge since most of us were new to this. Working with a tight timeframe as well as working remotely provided a great challenge of communication. Formatting the webapp with react css was also a challenge. Due to these constraints, we weren't able to complete a full description video, but we were still able to create a short demo on how it works. We also weren't able to deploy the project to Heroku, but all github repositories are listed.

## Accomplishments that we're proud of

We are excited to be able to connect users in need with charitable suppliers to not only help eliminate food waste, but also improve lives. This webapp offers seamless user experience with everything being handled in the backend. We like the simplicity yet necessity of our design and hope someday it can be put to use all over the world.

## What we learned

This was the first hackathon for some members, and they were exposed to react framework, connecting frontend to backend, using firebase, flask, and other cool technologies not used in a classroom setting.

## What's next for surplus

Since this was a hackathon, we downsized the scope of the project in order to meet the basic goals of this webapp. Firstly, we would deploy this project using a service such as Heroku. Next, to fully implement our vision, we would like to add postal code distance detection to improve on accuracy of neighbourhoods, as well as improve the selection algorithm for deciding which users has priority contact.
## Inspiration

IoT devices are extremely useful; however, they come at a high price. A key example of this is a smart fridge, which can cost thousands of dollars. Although many people can't afford this type of luxury, they can still greatly benefit from it. A smart fridge can eliminate food waste by keeping an inventory of your food and its freshness. If you don't know what to do with leftover food, a smart fridge can suggest recipes that use what you have in your fridge. This can easily expand to guiding your food consumption and shopping choices.

## What it does

FridgeSight offers a cheap, practical solution for those not ready to invest in a smart fridge. It can mount on any existing fridge as a touch interface and camera. By logging what you put in, take out, and use from your fridge, FridgeSight can deliver the very same benefits that smart fridges provide. It scans barcodes of packaged products and classifies produce and other unprocessed foods. FridgeSight's companion mobile app displays your food inventory, gives shopping suggestions based on your past behavior, and offers recipes that utilize what you currently have.

## How we built it

The IoT device is powered by Android Things with a Raspberry Pi 3. A camera and touchscreen display serve as peripherals for the user. FridgeSight scans UPC barcodes in front of it with the Google Mobile Vision API and cross references them with the UPCItemdb API in order to get the product's name and image. It also can classify produce and other unpackaged products with the Google Cloud Vision API. From there, the IoT device uploads this data to its Hasura backend.

FridgeSight's mobile app is built with Expo and React Native, allowing it to dynamically display information from Hasura. Besides using the data to display inventory and log absences, it pulls from the Food2Fork API in order to suggest recipes. Together, the IoT device and mobile app have the capability to exceed the functionality of a modern smart fridge.

## Challenges we ran into

Android Things provides a flexible environment for an IoT device. However, we had difficulty with initial configuration. At the very start, we had to reflash the device with an older OS because the latest version wasn't able to connect to WiFi networks. Our setup would also experience power issues, where the camera took too much power and shut down the entire system. In order to avoid this, we had to convert from video streaming to repeated image captures. In general, there was little documentation on communicating with the Raspberry Pi camera.

## Accomplishments that we're proud of

Concurring with Android Things's philosophy, we are proud of giving accessibility to previously unaffordable IoT devices. We're also proud of integrating a multitude of APIs across different fields in order to solve this issue.

## What we learned

This was our first time programming with Android Things, Expo, Hasura, and Google Cloud - platforms that we are excited to use in the future.

## What's next for FridgeSight

We've only scratched the surface for what the FridgeSight technology is capable of. Our current system, without any hardware modifications, can notify you when food is about to expire or hasn't been touched recently. Based on your activity, it can conveniently analyze your diet and provide healthier eating suggestions. FridgeSight can also be used for cabinets and other kitchen inventories. In the future, a large FridgeSight community would be able to push the platform with crowd-trained neural networks, easily surpassing standalone IoT kitchenware. There is a lot of potential in FridgeSight, and we hope to use PennApps as a way forward.