## Inspiration

We were inspired by the story of the large and growing problem of stray, homeless, and missing pets, and the ways in which technology could be leveraged to solve it, by raising awareness, adding incentive, and exploiting data.

## What it does

Pet Detective is first and foremost a chat bot, integrated into a Facebook page via messenger. The chatbot serves two user groups: pet owners that have recently lost their pets, and good Samaritans that would like to help by reporting. Moreover, Pet Detective provides monetary incentive for such people by collecting donations from happily served users. Pet detective provides the most convenient and hassle free user experience to both user bases. A simple virtual button generated by the chatbot allows the reporter to allow the bot to collect location data. In addition, the bot asks for a photo of the pet, and runs computer vision algorithms in order to determine several attributes and match factors. The bot then places a track on the dog, and continues to alert the owner about potential matches by sending images. In the case of a match, the service sets up a rendezvous with a trusted animal care partner. Finally, Pet Detective collects data on these transactions and reports and provides a data analytics platform to pet care partners.

## How we built it

We used messenger developer integration to build the chatbot. We incorporated OpenCV to provide image segmentation in order to separate the dog from the background photo, and then used Google Cloud Vision service in order to extract features from the image. Our backends were built using Flask and Node.js, hosted on Google App Engine and Heroku, configured as microservices. For the data visualization, we used D3.js.

## Challenges we ran into

Finding the write DB for our uses was challenging, as well as setting up and employing the cloud platform. Getting the chatbot to be reliable was also challenging.

## Accomplishments that we're proud of

We are proud of a product that has real potential to do positive change, as well as the look and feel of the analytics platform (although we still need to add much more there). We are proud of balancing 4 services efficiently, and like our clever name/logo.

## What we learned

We learned a few new technologies and algorithms, including image segmentation, and some Google cloud platform instances. We also learned that NoSQL databases are the way to go for hackathons and speed prototyping.

## What's next for Pet Detective

We want to expand the capabilities of our analytics platform and partner with pet and animal businesses and providers in order to integrate the bot service into many different Facebook pages and websites.
## Inspiration

More than 2.7 million pets will be killed over the next year because shelters cannot accommodate them. Many of them will be abandoned by owners who are unprepared for the real responsibilities of raising a pet, and the vast majority of them will never find a permanent home. The only sustainable solution to animal homelessness is to maximize adoptions of shelter animals by families who are equipped to care for them, so we created Homeward as a one-stop foster tool to streamline this process.

## What it does

Homeward allows shelters and pet owners to offer animals for adoption online. A simple and intuitive UI allows adopters to describe the pet they want and uses Google Cloud ML's Natural Language API to match their queries with available pets. Our feed offers quick browsing of available animals, multiple ranking options, and notifications of which pets are from shelters and which will be euthanized soon.

## How we built it

We used the Node.js framework with Express for routing and MongoDB as our database. Our front-end was built with custom CSS/Jade mixed with features from several CSS frameworks. Entries in our database were sourced from the RescueGroups API, and salient keywords for query matching were extracted using Google's Natural Language API. Our application is hosted with Google App Engine.

## Challenges we ran into

Incorporating Google's Natural Language API was challenging at first and we had to design a responsive front-end that would update the feed as the user updated their query. Some pets' descriptions had extraneous HTML and links that added noise to our extracted tags. We also found it tedious to clean and migrate the data to MongoDB.

## Accomplishments that we're proud of

We successfully leveraged Google Cloud ML to detect salient attributes in users' queries and rank animals in our feed accordingly. We also managed to utilize real animal data from the RescueGroups API. Our front-end also turned out to be cleaner and more user-friendly than we anticipated.

## What we learned

We learned first-hand about the challenges of applying natural language processing to potentially noisy user queries in real life applications. We also learned more about good javascript coding practices and robust back-end communication between our application and our database. But most importantly, we learned about the alarming state of animal homelessness and its origins.

## What's next for Homeward

We can enhance posted pet management by creating a simple account system for shelters. We would also like to create a scheduling mechanism that lets users "book" animals for fostering, thereby maximizing the probability of adoption. In order to scale Homeward, we need to clean and integrate more shelters' databases and adjust entries to match our schema.
## Inspiration

We saw how Pokémon Go inspired a ton of people to walk and travel way more than they did before. We thought we could design an app to incentivize a culture of sustainability.

We also feel that this application could be used by non-profit organizations or volunteers on finding the most polluted areas in their community.

We could even find the most optimal location for trash cans!

## What it does

Load the website on any internet device (not deployed so picture taking works only on local machines but phones can access the site), take a photo of a spot of trash, and get points for reporting it. Find a spot of trash near you on the website, take a photo of it, and get even more points for clearing it!

By using the google cloud computer vision API, we can gather information of the trash that is contained within an image. We can then give you points based on how polluted the location is.

## How we built it

We used Vue.js for the front-end, Django for the back-end, and Google Cloud to perform image recognition tasks and handled the PostgreSQL SQL. Web browser APIs help manage location data.

## Challenges we ran into

Getting an image from the front-end web app, encoding it and sending it to the back-end and then feeding that to the google API took a very long time a lots of testing.

There is also very limited functionality on capturing multiple objects from one static image and specifying what objects we are looking for in an image (to our understanding). Regardless the machine vision API was immensely helpful.

We also ran into challenges finding the best database for our project. We ran local ones in docker images which crashed and had problems using some cloud providers. We then settled on Google's SQL engine as it gave us a nice interface and made it very easy to access the database instance for developing.

## Accomplishments that we're proud of

Being able to present a easy to use interface for taking photos and passing the picture across multiple back-ends and APIs in a process that seems near real-time to the user. While we can't do it on the phone we feel that we accomplished quite a bit.

## What we learned

Lots of Web Programming!

## What's next for Where Da Trash At

Getting the app to work on the phone
Filtering points by geolocation- such that you can get points in say a .5 mile radius or any arbitrary distance a user wants
Make it look even better.