Inspiration

Plastic pollution is a major contributor to ocean waste, yet most people do not realize how their daily habits impact the environment. Existing apps rely on self reporting, which is easy to fake and does not build long term behavior change. We wanted a system that rewards real, verifiable actions that reduce plastic waste. That idea became SeaScore.

What it does

SeaScore is an app that encourages users to complete real environmental tasks. Users pick a challenge, upload a photo as proof, and the app automatically validates the action using a zero shot object detection model. When the action is confirmed, the user earns points and adds a stamp to their environmental passport. The user can use the earned points towards redeeming local deals on food, groceries, etc.

Main features:

  • Photo based proof submission
  • Automatic validation using the Xenova OWL V2 object detection model
  • Bronze, Silver, and Gold environmental challenges
  • Points, passport badges, team progress, and a community feed
  • Realtime challenge data stored in Firebase
  • Email and password authentication

SeaScore turns small daily actions into measurable environmental impact.

How we built it

  • Frontend: React with Vite
  • Backend: Node.js and Express
  • Machine Learning: OWL V2 zero shot object detection
  • Firebase Authentication for signup and login
  • Firebase Realtime Database for storing challenges and user progress
  • Docker for running the backend and caching the model locally
  • Multer for image uploads
  • Custom server pipeline to load the ML model once for performance

Challenges we ran into

  • Getting a large ML model to load consistently inside Docker
  • Designing challenges that are both realistic and verifiable through images
  • Debugging image upload encoding between React and the Node.js server
  • Managing the authentication flow while preserving UI animations and state

Accomplishments that we're proud of

  • Building a fully working photo verification system using a zero shot object detection model.
  • Creating a challenge system that rewards real environmental actions instead of self-reported claims.
  • Designing a smooth onboarding and authentication flow with Firebase.
  • Implementing a model pipeline that loads once and remains fast inside Docker.
  • Building a real time challenge list powered by Firebase that updates instantly without redeploying.
  • Developing a complete app experience including challenges, passport, feed, team view, and resources in under one weekend.
  • Creating a system that can actually validate plastic reduction behavior in the real world.

What we learned

  • How zero shot vision models can validate real world tasks without custom training
  • How Firebase realtime updates simplify dynamic content
  • How to containerize ML heavy applications for faster repeated runs
  • How gamification increases engagement for positive environmental behavior

What's next for SeaScore

We plan to expand SeaScore in the following ways:

  • Introduce more advanced challenges focused on river and beach waste prevention
  • Add support for group events such as cleanups or school sustainability drives
  • Improve the model with fine tuning for plastic object detection
  • Launch a controlled beta/pre-release version to gather user feedback
  • Refine detection thresholds and validation logic
  • Develop educational modules to connect actions to real ocean impact

Built With

Share this project:

Updates