-
-
EcoEyes home screen. Users can choose to select based on category or AI.
-
Page for scanning with AI.
-
A category page for invasive plants. Featured here is shrubs.
-
A description page for an invasive plant. Featured here is the autumn olive.
-
A description page for an invasive plant. Featured here is the multiflora rosa.
Inspiration
Our group took inspiration from an invasive species named the Spotted Lanternfly, which is known for killing natural flora in the environment. After learning about this, we began researching invasive species in our community, where we discovered how our area is greatly polluted by invasive plants. This inspired us to create an app that can recognize these species.
What it does
Our app is meant to help users learn about and identify invasive plants in North Carolina. Users can identify a plant by first uploading an image of their plant. Then, EcoAI, our custom-trained AI, will identify and match it with one of the recognized invasive plants in North Carolina. After users identify what their plant is, they can then navigate over to the specific plant that has been identified and learn about it.
How we built it
We started off our journey of app development through wireframing. We used a website called PenPot which is a free tool that helps design planning. After we had finished wireframing, we decided to use React Native. We decided that React Native was an easy-to-use mobile app platform that was powerful and similar to other software that we were familiar with. In React Native, we used Expo as suggested by the React Native documentation. While part of our team was working on the UI of the app, our other members worked on training our AI. We decided to use the pre-trained model Resnet50. This meant we only had to train it by inputting a custom-made dataset for our specific function. After we finished each part, we combined both parts to finish up our app, creating EcoEyes.
Challenges we ran into
The biggest challenge we had was integrating our AI into our app. We decided to host the AI on a server, with user devices sending images for analysis. The main issue was ensuring data was correctly transmitted between the device and the server. Despite extensive research through videos and forums, we struggled to find a solution. Eventually, a meeting with a Ready Set App! intern gave us the guidance we needed to fix our errors and successfully implement the AI. This intern also helped host our model for the competition.
Accomplishments that we're proud of
Our most significant accomplishment is the successful development and training of our AI, EcoAI. Creating an accurate and reliable model required great effort, from assembling a dataset to optimizing the AI for real-world performance.
What we learned
Building the EcoEyes app allowed us to learn a variety of both technical and soft skills. On the technical side, we deepened our understanding of JavaScript, Python, and AI integration, while also diving into machine learning and model optimization. Beyond the code, we also developed important teamwork skills, such as task delegation, time management, and clear communication. Along the way, we became better problem solvers, learning to adapt when challenges popped up.
What's next for EcoEyes
In the near future, we would want to improve EcoAI’s accuracy by training it with a larger and more diverse dataset of invasive species. Expanding our dataset will help the AI recognize plants in different conditions, angles, and environments, reducing misidentifications and improving reliability. We also want to expand EcoAI’s capabilities by adding more types of invasive species. Right now, the focus is on invasive plants, but we see the potential to broaden our scope and additionally include invasive animals. This would make EcoAI an even more useful tool for environment conservation by helping users identify and track a wider range of invasive species.
Built With
- expo.io
- javascript
- react
- react-native
- tensorflow
Log in or sign up for Devpost to join the conversation.