## Inspiration

While looking for genuine problems that we could solve, it came to our attention that recycling is actually much harder than it should be. For example, when you go to a place like Starbucks and are presented with the options of composting, recycling, or throwing away your empty coffee, it can be confusing and for many people, it can lead to selecting the wrong option.

## What it does

Ecolens uses a cloud-based machine learning webstream to scan for an item and tells the user the category of item it is that they scanned, providing them with a short description of the object and updating their overall count of consuming recyclable vs. unrecyclable items as well as updating the number of items that they consumed in that specific category (i.e. number of water bottle consumed)

## How we built it

This project consists of both a front end and a back end. The backend of this project was created using Java Spring and Javascript. Javascript was used in the backend in order to utilize Roboflow and Ultralytics which allowed us to display the visuals from Roboflow on the website for the user to see. Java Spring was used in the backend for creating a database that consisted of all of the scanned items and tracked them as they were altered (i.e. another item was scanned or the user decided to dump the data).

The front end of this project was built entirely through HTML, CSS, and Javascript. HTML and CSS were used in the front end to display text in a format specific to the User Interface, and Javascript was used in order to implement the functions (buttons) displayed in the User Interface.

## Challenges we ran into

This project was particularly difficult for all of us because of the fact that most of our team consists of beginners and there were multiple parts during the implementation of our application that no one was truly comfortable with. For example, integrating camera support into our website was particularly difficult as none of our members had experience with JavaScript, and none of us had fully fledged web development experience. Another notable challenge was presented with the backend of our project when attempting to delete the user history of items used while also simultaneously adding them to a larger “trash can” like a database.

From a non-technical perspective, our group also struggled to come to an agreeance on how to make our implementation truly useful and practical. Originally we thought to have hardware that would physically sort the items but we concluded that this was out of our skill range and also potentially less sustainable than simply telling the user what to do with their item digitally.

## Accomplishments that we're proud of

Although we can acknowledge that there are many improvements that could be made, such as having a cleaner UI, optimized (fast) usage of the camera scanner, or even better responses for when an item is accidentally scanned, we’re all collectively proud that we came together to find an idea that allowed each of us to not only have a positive impact on something we cared about but to also learn and practice things that we actually enjoy doing.

## What we learned

Although we can acknowledge that there are many improvements that could be made, such as having a cleaner UI, optimized (fast) usage of the camera scanner, or even better responses for when an item is accidentally scanned, we’re all collectively proud that we came together to find an idea that allowed each of us to not only have a positive impact on something we cared about but to also learn and practice things that we actually enjoy doing.

## What's next for Eco Lens

The most effective next course of action for EcoLens is to assess if there really is a demand for this product and what people think about it. Would most people genuinely use this if it was fully shipped? Answering these questions would provide us with grounds to move forward with our project.
## Inspiration

The majority of cleaning products in the United States contain harmful chemicals. Although many products pass EPA regulations, it is well known that many products still contain chemicals that can cause rashes, asthma, allergic reactions, and even cancer. It is important that the public has easy access to information of the chemicals that may be harmful to them as well as the environment.

## What it does

Our app allows users to scan a product's ingredient label and retrieves information on which ingredients to avoid for the better of the environment as well as their own health.

## How we built it

We used Xcode and Swift to design the iOS app. We then used Vision for iOS to detect text based off a still image. We used a Python scrapper to collect data from ewg.org, providing the product's ingredients as well as the side affects of certain harmful additives.

## Challenges we ran into

We had very limited experience for the idea that we have in developing an iOS app but, we wanted to challenge ourselves. The challenges the front end had were incorporating the camera feature and the text detector into a single app. As well as trying to navigate the changes between the newer version of Swift 11 from older versions. For our backend members, they had difficulties incorporating databases from Microsoft/Google, but ended up using JSON.

## Accomplishments that we're proud of

We are extremely proud of pushing ourselves to do something we haven't done before. Initially, we had some doubt in our project because of how difficult it was. But, as a team we were able to help each other along the way. We're very proud of creating a single app that can do both a camera feature and Optical Character Recognition because as we found out, it's very complicated and error prone. Additionally, for data scrapping, even though the HTML code was not consistent we managed to successfully scrap the necessary data by taking all corner cases into consideration with 100% success rate from more than three thousand HTML files and we are very proud of it.

## What we learned

Our teammates working in the front end learned how to use Xcode and Swift in under 24 hours. Our backend team members learned how to scrap the data from a website for the first time as well. Together, we learned how to alter our original expectations of our final product based on time constraint.

## What's next for Ingredient Label Scanner

Currently our project is specific to cleaning products, however in the future we would like to incorporate other products such as cosmetics, hair care, skin care, medicines, and food products. Additionally, we hope to alter the list of ingredients in a more visual way so that users can clearly understand which ingredients are more dangerous than others.
## Inspiration

All of our parents like to recycle plastic bottles and cans to make some extra money, but we always thought it was a hassle. After joining this competition and seeing sustainability as one of the prize tracks, we realized it would be interesting to create something that makes the recycling process more engaging and incentivized on a larger scale.

## What it does

We gamify recycling. People can either compete against friends to see who recycles the most, or compete against others for a prize pool given by sponsors (similar to how Kaggle competitions work). To verify if a person recycles, there's a camera section where it uses an object detection model to check if a valid bottle and recycling bin are in sight.

## How we built it

We split the project into 3 major parts. The app itself, the object detection model, and another ML model that predicted how trash in a city would move so users can move with it to pick up the most amount of trash. We implemented an object detection model, where we created our own dataset of cans and bottles at PennApps with pictures around the building, and used Roboflow to create the dataset. Our app was created using Swift, and it was inspired by a previous GitHub that deployed a model of the same type as ours onto IOS. The UI was designed using Figma. The ML model that predicted the movement of trash concentration was a CNN that had a differential equation as a loss function which had better results than just the vanilla loss functions.

## Challenges we ran into

None of us had coded an app before, so it was difficult doing anything with Swift. It actually took us 2 hours just to get things set up and get the build running, so this was for sure the hardest part of the project. We also ran into problems finding good datasets for both of the models, as they were either poor quality or didn't have the aspects that we wanted.

## Accomplishments that we're proud of

Everyone on our team specializes in backend, so with limited initial experience in frontend, we're especially proud of the app we’ve created—it's our first time working on such a project. Integrating all the components posed significant challenges too. Getting everything to work seamlessly, including the CNN model and object detection camera within the same app, required countless attempts. Despite the challenges, we've learned a great amount throughout the process and are incredibly proud of what we've achieved so far.

## What we learned

How to create an IOS app, finding datasets, integrating models into apps.

## What's next for EcoRush

A possible quality change to the app would be to find a way to differentiate bottles from each other so people can't "hack" the system. We are also looking for more ways to incentivize people to recycle litter they see everyday other than with money. After all, our planet would be a whole lot greener if every citizen of Earth does just a small part!