## Inspiration

One of our own member's worry about his puppy inspired us to create this project, so he could keep an eye on him.

## What it does

Our app essentially monitors your dog(s) and determines their mood/emotional state based on their sound and body language, and optionally notifies the owner about any changes in it. Specifically, if the dog becomes agitated for any reasons, manages to escape wherever they are supposed to be, or if they fall asleep or wake up.

## How we built it

We built the behavioral detection using OpenCV and TensorFlow with a publicly available neural network. The notification system utilizes the Twilio API to notify owners via SMS. The app's user interface was created using JavaScript, CSS, and HTML.

## Challenges we ran into

We found it difficult to identify the emotional state of the dog using only a camera feed. Designing and writing a clean and efficient UI that worked with both desktop and mobile platforms was also challenging.

## Accomplishments that we're proud of

Our largest achievement was determining whether the dog was agitated, sleeping, or had just escaped using computer vision. We are also very proud of our UI design.

## What we learned

We learned some more about utilizing computer vision and neural networks.

## What's next for PupTrack

KittyTrack, possibly
Improving the detection, so it is more useful for our team member
## Inspiration

There are two types of pets wandering unsupervised in the streets - ones that are lost and ones that don't have a home to go to. Pet's Palace portable mini-shelters services these animals and connects them to necessary services while leveraging the power of IoT.

## What it does

The units are placed in streets and alleyways. As an animal approaches the unit, an ultrasonic sensor triggers the door to open and dispenses a pellet of food. Once inside, a live stream of the interior of the unit is sent to local animal shelters which they can then analyze and dispatch representatives accordingly. Backend analysis of the footage provides information on breed identification, custom trained data, and uploads an image to a lost and found database. A chatbot is implemented between the unit and a responder at the animal shelter.

## How we built it

Several Arduino microcontrollers distribute the hardware tasks within the unit with the aide of a wifi chip coded in Python. IBM Watson powers machine learning analysis of the video content generated in the interior of the unit. The adoption agency views the live stream and related data from a web interface coded with Javascript.

## Challenges we ran into

Integrating the various technologies/endpoints with one Firebase backend.

## Accomplishments that we're proud of

A fully functional prototype!
## Inspiration

Jeremy, one of our group members, always buys new house plants with excitement and confidence that he will take care of them this time.. He unfortunately disregards his plant every time, though, and lets it die within three weeks. We decided to give our plant a persona, and give him frequent reminders whenever the soil does not have enough moisture, and also through personalized conversations whenever Jeremy walks by.

## What it does

Using four Arduino sensors, including soil moisture, temperature, humidity, and light, users can see an up-to-date overview of how their plant is doing. This is shown on the display and bar graph with an animal of choice's emotions! Using the webcam which is built-in into the the device, your pet will have in-depth conversations with you using ChatGPT and image recognition.

For example, if you were holding a water bottle and the soil moisture levels were low, your sassy cat plant might ask if the water is for them since they haven't been watered in so long!

## How we built it

The project is comprised of Python and C++. The 4 sensors and 2 displays on the front are connected through an Arduino and monitor the stats of the plant and also send them to our Python code. The Python code utilizes chatGPT API, openCV, text-to-speech, speech-to-text, as well as data from the sensors to have a conversation with the user based on their mood.

## Challenges we ran into

Our project consisted of two very distinct parts. The software was challenging as it was difficult to tame an AI like chatGPT and get it to behave like we wanted. Figuring out the exact prompt to give it was a meticulous process. Additionally, the hardware posed a challenge as we were working with new IO parts. Another challenge was combining these two distinct but complex components to send and receive data in a smooth manner.

## Accomplishments that we're proud of

We're very proud of how sleek the final product looks as well as how smoothly the hardware and software connect. Most of all we're proud of how the plant really feels alive and responds to its environment.

## What we learned

Making this project, we definitely learned a lot about sending and receiving messages from chatGPT API, TTS, STT, configuring different Arduino IO methods, and communicating between the Arduino and Python code using serial.

## What's next for Botanical Bestie

We have many plans for the future of Botanical Bestie. We'd like to make the product more diverse and include different language options to be applicable to international markets. We'd also like to collab with big brands to include their characters as AI plant personalities (Batman plant? Spongebob plant?). On the hardware side, we'd obviously want to put speakers and microphones on the plant/plant pot itself, since we used the laptop speaker and phone microphone for this hackathon. We also have plans for the plant pot to detect what kind of plant is in it, and change its personality accordingly.