## Inspiration

McMaster's SRA presidential debate brought to light the issue of garbage sorting on campus. Many recycling bins were contaminated and were subsequently thrown into a landfill. During the project's development, we became aware of the many applications of this technology, including sorting raw materials, and manufacturing parts.

## What it does

The program takes a customizable trained deep learning model that can categorize over 1000 different classes of objects. When an object is placed in the foreground of the camera, its material is determined and its corresponding indicator light flashes. This is to replicate a small-scale automated sorting machine.

## How we built it

To begin, we studied relevant modules of the OpenCV library and explored ways to implement them for our specific project. We also determined specific categories/materials for different classes of objects to build our own library for sorting.

## Challenges we ran into

Due to time constraints, we were unable to train our own data set for the specific objects we wanted. Many pre-trained models are designed to run on much stronger hardware than a raspberry pi. Being limited to pre-trained databases added a level of difficulty for the software to detect our specific objects.

## Accomplishments that we're proud of

The project actually worked and was surprisingly better than we had anticipated. We are proud that we were able to find a compromise in the pre-trained model and still have a functioning application.

## What we learned

We learned how to use OpenCV for this application, and the many applications of this technology in the deep learning and IoT industry.

## What's next for Smart Materials Sort

We'd love to find a way to dynamically update the training model (supervised learning), and try the software with our own custom models.
## Inspiration

Have you ever attended a networking event and felt overwhelmed by the sheer number of people, unsure of how to find the right connections? We've all been there, wishing for a more streamlined way to meet individuals who align with our goals and values. The inspiration for Aligned.ai comes from this common challenge—finding people who will empower you to do your life's best work. Our goal was to create a system that helps individuals build sustainable and long-lasting relationships in the startup space, whether it’s founder-to-founder or founder-to-VC.

## What it does

Aligned.ai is a matchmaking platform designed to connect individuals in the startup ecosystem based on deep personality and goal alignment. Users engage in live, in-depth conversations with Aligned Voice, an AI-powered by Groq, which simulates a real human interaction. The system then generates a unique personality embedding using Cohere, which is stored in Chroma DB. Using powerful vector similarity algorithms, Aligned.ai ranks potential connections, presenting users with the best matches first. This way, users can find those who are not only aligned with their professional aspirations but also resonate with their personal values.

## How we built it

Aligned.ai was developed with a focus on seamless integration across multiple technologies:

![Alt text](https://d112y698adiu2z.cloudfront.net/photos/production/software_photos/003/026/013/datas/original.png)

* Frontend: Built using Next.js, our frontend integrates Auth0 for tokenization and secure login.
* Data Collection: Once logged in, users create their matchmaking profiles, including data from their Web Summit profile, LinkedIn, GitHub, and more.
* Conversation with Aligned Voice: This **core feature** was powered by Groq, users engage in a live conversation that feels as natural as talking to a real person. We used Groq's integrations with Whisper for speech to text - then sent this info to our backend server for stateless requests to Groq's blazing fast llama 3 models. **We experimented with various platforms but found Groq to give us the latency necessary for our needs**
* Personality Embedding: This was the **bread and butter** of our app. The conversation data is processed by Cohere's Embed API to generate a personality embedding, which is stored in Chroma DB vector database.
* Matchmaking: Users can then search for others with similar profiles using vector similarity algorithms. This was all ran over Chroma DB's seamless and powerful interface with multiple integrations. Summaries of similarities are hosted using Groq and Cohere. The system ranks matches from most to least aligned, providing a curated list of potential connections.
* Reach Out: Once a match is found, users can reach out directly using the embedded social information.

## Challenges we ran into

* One of the main challenges we faced was prompt engineering—ensuring that the AI could generate meaningful and accurate personality embeddings from the conversations.
* Additionally, integrating the full tech stack from frontend to backend, while maintaining real-time AI performance, posed significant difficulties.
* Balancing the scale of integration with providing a clean and intuitive user experience was another key challenge we successfully navigated.

## Accomplishments that we're proud of

* MVP Completion: We successfully built and deployed a minimum viable product that effectively demonstrates the core functionality of Aligned.ai.
* Contribution to Open Source: We made a PR to improve one of the technologies we worked with, contributing back to the community.
* User-Centric Design: We invested significant time in UI/UX design to ensure that the user experience is as intuitive and enjoyable as possible.

## What we learned

Through this project, we learned the immense potential of AI-driven systems to facilitate meaningful connections between individuals. The ability of autonomous agents to understand and simulate human interaction signals a new paradigm in networking and relationship-building. We also gained valuable insights into prompt engineering, real-time AI processing, and the importance of seamless integration across the tech stack.

## What's next for Aligned.ai

The potential for Aligned.ai is vast. Moving forward, we plan to expand the action space of personality embedding and vector based search, integrating more powerful features to enhance the matchmaking process. We aim to refine the AI's ability to simulate even more nuanced human interactions and to improve the accuracy of our personality embeddings. As we continue to develop Aligned.ai, our goal is to make it the go-to platform for building meaningful, long-term relationships in the startup ecosystem.
## Inspiration

Let's start by taking a look at some statistics on waste from Ontario and Canada. In Canada, only nine percent of plastics are recycled, while the rest is sent to landfills. More locally, in Ontario, over 3.6 million metric tonnes of plastic ended up as garbage due to tainted recycling bins. Tainted recycling bins occur when someone disposes of their waste into the wrong bin, causing the entire bin to be sent to the landfill. Mark Badger, executive vice-president of Canada Fibers, which runs 12 plants that sort about 60 percent of the curbside recycling collected in Ontario has said that one in three pounds of what people put into blue bins should not be there. This is a major problem, as it is causing our greenhouse gas emissions to grow exponentially. However, if we can reverse this, not only will emissions lower, but according to Deloitte, around 42,000 new jobs will be created. Now let's turn our focus locally. The City of Kingston is seeking input on the implementation of new waste strategies to reach its goal of diverting 65 percent of household waste from landfill by 2025. This project is now in its public engagement phase. That’s where we come in.

## What it does

Cycle AI is an app that uses machine learning to classify certain articles of trash/recyclables to incentivize awareness of what a user throws away. You simply pull out your phone, snap a shot of whatever it is that you want to dispose of and Cycle AI will inform you where to throw it out as well as what it is that you are throwing out. On top of that, there are achievements for doing things such as using the app to sort your recycling every day for a certain amount of days. You keep track of your achievements and daily usage through a personal account.

## How We built it

In a team of four, we separated into three groups. For the most part, two of us focused on the front end with Kivy, one on UI design, and one on the backend with TensorFlow. From these groups, we divided into subsections that held certain responsibilities like gathering data to train the neural network. This was done by using photos taken from waste picked out of, relatively unsorted, waste bins around Goodwin Hall at Queen's University. 200 photos were taken for each subcategory, amounting to quite a bit of data by the end of it. The data was used to train the neural network backend. The front end was all programmed on Python using Kivy. After the frontend and backend were completed, a connection was created between them to seamlessly feed data from end to end. This allows a user of the application to take a photo of whatever it is they want to be sorted, having the photo feed to the neural network, and then returned to the front end with a displayed message. The user can also create an account with a username and password, for which they can use to store their number of scans as well as achievements.

## Challenges We ran into

The two hardest challenges we had to overcome as a group was the need to build an adequate dataset as well as learning the framework Kivy. In our first attempt at gathering a dataset, the images we got online turned out to be too noisy when grouped together. This caused the neural network to become overfit, relying on patterns to heavily. We decided to fix this by gathering our own data. I wen around Goodwin Hall and went into the bins to gather "data". After washing my hands thoroughly, I took ~175 photos of each category to train the neural network with real data. This seemed to work well, overcoming that challenge. The second challenge I, as well as my team, ran into was our little familiarity with Kivy. For the most part, we had all just began learning Kivy the day of QHacks. This posed to be quite a time-consuming problem, but we simply pushed through it to get the hang of it.

## 24 Hour Time Lapse

**Bellow is a 24 hour time-lapse of my team and I work. The naps on the tables weren't the most comfortable.**
<https://www.youtube.com/watch?v=oyCeM9XfFmY&t=49s>