## Inspiration

Due to the recent unanticipated spread of wildfires, especially across Canada, the air quality has worsened in the most affected regions, causing breathing difficulties in the most affected areas, such as Montréal, Ottawa, Toronto, and Yellowknife. Thus, we were inspired to create an application that allows users to determine the air quality in the various regions of their city to make informed decisions regarding safety precaution measures against poor air quality.

## What it does

Airate is an application that provides users with the air quality rating reported by the government and allows them to provide their own rating of the air in their region each day, building up an air quality map displaying the spread of user-inputted air quality data of numbers based on the Air Quality Health Index (a number from 1 to 10+, displaying the best to worst air quality). The app also includes a social aspect that allows users to connect with others in their region, displaying a leaderboard of the most active users and their points collected from logging in their daily air quality rating.

## How we built it

We split into two pairs, where two of us worked on the front-end development, creating the user interface using Figma before converting it to HTML and CSS code. The other two of us worked on the back end, some aspects of it including the creation of databases using PHP and the implementation of APIs such as Google Cloud. Finally, we combined the front and the back end by allowing for interactions between the two to create our final, usable, application.

## Challenges we ran into

One challenge for the front end was accurately converting the complex Figma models into HTML and CSS as beginner HTML and CSS users, especially given that some of our graphics were originally reformatted in Figma and did not all carry over the same modifications.
Regarding the backend, some challenges involved the decision between various possible APIs and languages given the different pricing points and features provided by each available framework.

## Accomplishments that we're proud of

One accomplishment that we are really proud of is successfully completing the interactions between the backend and the front-end programming, given that both the front-end and the backend components of the project were already relatively complex on their own.
Additionally, the creation of the UI/UX design is an aspect of our project that we put a lot of effort into and believe that it paid off, given the sleek and modern design of the application.

## What we learned

For this project, all of the members decided to step out of their comfort zones, where if we were more well-versed with the front end, we decided to work on the backend development instead, and vice versa, in order to provide ourselves with the opportunity to develop our well-roundedness and full-stack development potential. Thus, each of us developed further the skillset associated with the role that we took on, such as working with databases and API in developing the backend or developing the flow of front-end design from idea visualization on Figma to the actual creation of the designs using HTML and CSS.

## What's next for Airate

Next for Airate, we plan to implement AI image recognition to analyze pictures of the air and determine the air quality rating to further improve the accuracy of the ratings provided by the users. To also increase the information with which we provide users, we also will incorporate open-source data from weather APIs and Environment Canada air quality statistics. Overall, from AI image recognition to data analytics, we plan to bring many more features to the application to help users increase their health awareness and improve their air quality safety precaution measures.
## Inspiration

All the beautiful birds in BC!

## What it does

The app allows the identification of birds after a series of questions (location spotted, colour, size of bird). The app also allows you to search through a database of birds as well as upload your own pictures of sightings. Each bird’s profile includes some facts as well as pictures taken by others.

## How we built it

A small database of BC birds was compiled in a spreadsheet, consisting of data needed for the questionnaire (size, location, colour). We used Figma to make a prototype of the app.We built a mobile app for Android devices using Android Studio. The program was written in Java and the database was created via Android Studio's SQLite. We used Android Studio to build the interface that we envisioned in Figma.

## Challenges we ran into

Trying to translate the layout into working code was difficult! We also experienced some problems trying to incorporate all the data and so some entries were left out.

## Accomplishments that we're proud of

We were able to translate our layout vision from Figma into Android Studio. We also had members that had never worked with Java and Android Studio before and were still able to create layouts and implement basic functions

## What we learned

How to translate prototypes into working code and how to work with Android-Studio.

## What's next for GoBird BC

Profile for birds so you can learn more about them as well as options to upload your own pictures and sightings. Also, "Birdex" to track all your sightings!
## Inspiration

The EPA estimates that although 75% of American waste is recyclable, only 30% gets recycled. Our team was inspired to create RecyclAIble by the simple fact that although most people are not trying to hurt the environment, many unknowingly throw away recyclable items in the trash. Additionally, the sheer amount of restrictions related to what items can or cannot be recycled might dissuade potential recyclers from making this decision. Ultimately, this is detrimental since it can lead to more trash simply being discarded and ending up in natural lands and landfills rather than being recycled and sustainably treated or converted into new materials. As such, RecyclAIble fulfills the task of identifying recycling objects with a machine learning-based computer vision software, saving recyclers the uncertainty of not knowing whether they can safely dispose of an object or not. Its easy-to-use web interface lets users track their recycling habits and overall statistics like the number of items disposed of, allowing users to see and share a tangible representation of their contributions to sustainability, offering an additional source of motivation to recycle.

## What it does

RecyclAIble is an AI-powered mechanical waste bin that separates trash and recycling. It employs a camera to capture items placed on an oscillating lid and, with the assistance of a motor, tilts the lid in the direction of one compartment or another depending on whether the AI model determines the object as recyclable or not. Once the object slides into the compartment, the lid will re-align itself and prepare for proceeding waste. Ultimately, RecyclAIBle autonomously helps people recycle as much as they can and waste less without them doing anything different.

## How we built it

The RecyclAIble hardware was constructed using cardboard, a Raspberry Pi 3 B+, an ultrasonic sensor, a Servo motor, and a Logitech plug-in USB web camera, and Raspberry PI. Whenever the ultrasonic sensor detects an object placed on the surface of the lid, the camera takes an image of the object, converts it into base64 and sends it to a backend Flask server. The server receives this data, decodes the base64 back into an image file, and inputs it into a Tensorflow convolutional neural network to identify whether the object seen is recyclable or not. This data is then stored in an SQLite database and returned back to the hardware. Based on the AI model's analysis, the Servo motor in the Raspberry Pi flips the lip one way or the other, allowing the waste item to slide into its respective compartment. Additionally, a reactive, mobile-friendly web GUI was designed using Next.js, Tailwind.css, and React. This interface provides the user with insight into their current recycling statistics and how they compare to the nationwide averages of recycling.

## Challenges we ran into

The prototype model had to be assembled, measured, and adjusted very precisely to avoid colliding components, unnecessary friction, and instability. It was difficult to get the lid to be spun by a single Servo motor and getting the Logitech camera to be propped up to get a top view. Additionally, it was very difficult to get the hardware to successfully send the encoded base64 image to the server and for the server to decode it back into an image. We also faced challenges figuring out how to publicly host the server before deciding to use ngrok. Additionally, the dataset for training the AI demanded a significant amount of storage, resources and research. Finally, establishing a connection from the frontend website to the backend server required immense troubleshooting and inspect-element hunting for missing headers. While these challenges were both time-consuming and frustrating, we were able to work together and learn about numerous tools and techniques to overcome these barriers on our way to creating RecyclAIble.

## Accomplishments that we're proud of

We all enjoyed the bittersweet experience of discovering bugs, editing troublesome code, and staying up overnight working to overcome the various challenges we faced. We are proud to have successfully made a working prototype using various tools and technologies new to us. Ultimately, our efforts and determination culminated in a functional, complete product we are all very proud of and excited to present. Lastly, we are proud to have created something that could have a major impact on the world and help clean our environment clean.

## What we learned

First and foremost, we learned just how big of a problem under-recycling was in America and throughout the world, and how important recycling is to Throughout the process of creating RecyclAIble, we had to do a lot of research on the technologies we wanted to use, the hardware we needed to employ and manipulate, and the actual processes, institutions, and statistics related to the process of recycling. The hackathon has motivated us to learn a lot more about our respective technologies - whether it be new errors, or desired functions, new concepts and ideas had to be introduced to make the tech work. Additionally, we educated ourselves on the importance of sustainability and recycling as well to better understand the purpose of the project and our goals.

## What's next for RecyclAIble

RecycleAIble has a lot of potential as far as development goes. RecyclAIble's AI can be improved with further generations of images of more varied items of trash, enabling it to be more accurate and versatile in determining which items to recycle and which to trash. Additionally, new features can be incorporated into the hardware and website to allow for more functionality, like dates, tracking features, trends, and the weights of trash, that expand on the existing information and capabilities offered. And we’re already thinking of ways to make this device better, from a more robust AI to the inclusion of much more sophisticated hardware/sensors. Overall, RecyclAIble has the potential to revolutionize the process of recycling and help sustain our environment for generations to come.