## 🐱Inspiration 🐱

All engineers, as well as many other people from all professions, know how difficult it is to both stay focused during work, and to keep themselves healthy whilst working. CueCat is here to solve all of your problems. We built this adorable little desktop pet with both work and play in mind. It helps remind you about important life tasks that may be overlooked when you’re too focused on working, or playing games. If you haven’t had water for a while, it’ll let you know! The same goes for other basic needs, such as food and exercise. It also prevents you from getting distracted when you want to work or study, thus increasing your overall productivity!

## 🐱What it does 🐱

CueCat is a desktop accessory that sits on top of your screen. It displays information and has functionality a smartphone would normally contain, reducing the amount of time lost in the rabbit hole of our mobile devices. At the same time, it gentily (at first) gives reminders to take care of your well being by eating or exercising, based off of a calendar made from a combination of user input, credible research, and artificial intelligence. CueCat was also designed in a way as to not interfere with your current workspace, be able to be brought and used anywhere, and to be an adorable addition to any setup.

## 🐱How we built it 🐱

This project is an equal mix of both hardware and software parts. The main product was built around an Arduino Due microcontroller, which has a 3.5 inch backlit LCD screen attached as a user interface. We also wired a set of buttons to the microcontroller, to allow to user to easily interact with CueCat. On the software side, a Flask server communicates with the microcontroller in order to provide information parsed from various API calls to collect information for the user, such as from Spotify’s user API. We used Fusion 360 to design and model the case and stand, which we then printed using a 3D printer, and subsequently soldered together the large components.

## 🐱Challenges we ran into 🐱

Originally we planned on moterizing our widget so that it could stroll back and forth across a screen, but we weren’t able to power the motors because we weren’t able to locate a driver that was compatible with our motor.

We also ran into some issues with our shared codebase as some files went missing when we were assembling the final product.

There was also a predicament with our wiring as our LCD was larger than expected, so we had to wire it manually to free other pinouts on the microcontroller for other uses.

We were unfortunately unable to procure a speaker, which we were hoping to be a main feature of this product, so we had to work around this lacking component.

## 🐱Accomplishments that we're proud of 🐱

We were able to build an effective stand that successfully mounts our widget and that is compatible with all monitors or laptops. It slides very smoothly across the tops of devices, and can be setup conveniently and quickly.

We were able to create a complete product within the deadlines of this competition. Since this was a project that involved complexity in both hardware and software components, it was a difficult yet rewarding experience making sure both components were well meshed together.

We used Spotify API to display information about a users current track, as well as Google Calendar’s API to enable schedule creation.

## 🐱What we learned🐱

Organization is imperative to any project and it can greatly reduce the time you have to spend in the long run. By roadmapping our projects and planning out individual steps, it was always easy to know what each person had to do at what stage in the building process.

It’s important to take breaks! Resting and recharging can increase productivity in the long run.

Identifying bottlenecks early on can allow you to better utilize your very limited time. Don’t get stuck on tasks that only one team member can work on!

## 🐱What's next for CueCat?🐱

We are in the process of incorporating more features into our product, in regards to both software and hardware. This includes more apps like to do lists, as well as different case designs and the addition of speakers and movement. We are very much hoping to develop proper movement on CueCat, as we think it would be amazing to see our little cat run across the tops of people’s devices!
## Inspiration

The project draws its inspiration from the enchanting world of Harry Potter, specifically the living paintings that add a magical touch to the walls of Hogwarts. This sparked the idea to transform mundane home assistants into something more interactive and lively. The goal was to make everyday interactions with technology not just functional but also entertaining, making our digital companions feel like a more integral and responsive part of our homes.

## What it does

The essence of this project is to bring to life a collection of avatars, each with their unique theme, designed to either automate various household chores or provide a warm greeting. These avatars are not mere static figures; instead, they embody the concept of interactive assistants that can adapt and respond to the homeowner's presence and commands, making everyday tasks more engaging and enjoyable.

## How we built it

The creation of this project involved the integration of several technologies and platforms. The graphical user interface was developed using Pygame, a choice that, while challenging due to our initial unfamiliarity, offered the flexibility we needed. Raspberry Pi devices were employed both for facial-detection and as screens to display our themed avatars. Laptops served a similar purpose, enhancing the project's accessibility and integration into the home environment. Communication with the motor and light was facilitated through Arduino boards, with serial communication bridging the gap between the Arduinos and Raspberry Pi's. A central server, established using Flask, played a pivotal role in orchestrating the interactions between the different components, ensuring a seamless experience.

## Challenges we ran into

One of the primary hurdles we encountered was our lack of experience with Pygame. Venturing into uncharted territory was daunting, yet it was a deliberate choice to push the boundaries of our technical skills and explore new possibilities. This challenge was a testament to our commitment to innovation and our willingness to learn and adapt in the face of difficulties.

## Accomplishments that we're proud of

Among the highlights of this project are the themes and the aesthetic appeal of our avatars. Crafting these characters with attention to detail and a keen sense of design was not only a creative endeavour but also a technical achievement. We are immensely proud of the personality and life we were able to infuse into each avatar, making them not just tools but companions within the home.

## What we learned

This project was a profound learning experience, deepening our understanding of Pygame and familiarizing us with Flask for server management. We navigated the complexities of serial communication and message passing between various scripts and hardware components, gaining insights into the intricate dance of coordination required to bring our vision to life.

## What's next for home buddies

Looking ahead, we are excited about the potential of leveraging Large Language Models (LLMs) to enhance the capabilities of our avatars. Our ambition is to evolve these Home Buddies into more general-purpose assistants, capable of undertaking a wider array of tasks and interactions. This next step will not only expand their utility but also bring us closer to a future where our homes are not just smart but also intuitively responsive and genuinely interactive.
## Inspiration

## What it does

## It searches for a water Bottle!

## How we built it

## We built it using a roomba, raspberrypi with a picamera, python, and Microsoft's Custom Vision

## Challenges we ran into

## Attaining wireless communications between the pi and all of our PCs was tricky. Implementing Microsoft's API was troublesome as well. A few hours before judging we exceeded the call volume for the API and were forced to create a new account to use the service. This meant re-training the AI and altering code, and loosing access to our higher accuracy recognition iterations during final tests.

## Accomplishments that we're proud of

## Actually getting the wireless networking to consistently. Surpassing challenges like framework indecision between IBM and Microsoft. We are proud of making things that lacked proper documentation, like the pi camera, work.

## What we learned

## How to use Github, train AI object recognition system using Microsoft APIs, write clean drivers

## What's next for Cueball's New Pet

## Learn to recognize other objects.