Inspiration
My inspiration for EcoClip came from when I experienced the effects of wildfires firsthand and didn't know how to help or even fully understand what was happening around me, the smoke, the risk, what it meant for my area. I had no clear place to turn for an explanation grounded in what was actually happening, and no real first step to take beyond just waiting it out. I built EcoClip so nobody else has to sit through something like that without knowing what to do.
What it does
EcoClip takes a description or photo of an environmental problem and a location, then builds a real, grounded analysis around it: a risk level, a category, why it's happening, and a confidence score backed by the actual weather and location data it pulled for that spot. From there it ranks a step-by-step action plan by impact, cost, and difficulty, and lets you simulate which steps are worth doing before you commit to any of them. Completing a step for real updates a Planet Health Score that's tracked over time, and EcoClip also drafts outreach to the right organization so you're not starting that from scratch either. Every report feeds a live community feed, where other people can join the same effort, upvote it, and watch its score climb as a group instead of alone.
How we built it
EcoClip runs on a FastAPI backend with SQLite for reports, solutions, comments, and score history. Groq handles the reasoning, llama-3.3-70b-versatile for text analysis and qwen/qwen3.6-27b for photo submissions, grounded with real current weather from Open-Meteo and geocoding from Nominatim so the AI is reasoning over actual conditions, not just wording. Locations get rounded to roughly a kilometer before anything is stored, so community reports stay useful without pinpointing anyone's address. The frontend is plain HTML, CSS, and JS with no build step, kept intentionally simple so the AI output stays the focus.
Challenges we ran into
Getting the action plan to feel trustworthy took a few passes: the what-if simulator initially double-counted steps that were already marked done, since their checkbox was checked but disabled, so I had to explicitly exclude those from the projection math. The community endpoint also silently dropped the solutions list on creation, so a freshly posted report showed an empty action plan until I traced it back and fixed the response. And three Groq API keys share one rate-limit pool rather than adding capacity, so seeding 30-plus community reports for testing meant pacing requests instead of firing them all at once.
Accomplishments that we're proud of
I'm proud that EcoClip's confidence and data sources are visible right next to its claims, so it's not just handing you an opinion and asking you to trust it. The shared action plan and score history turn a report into something a whole neighborhood can actually work through together, not just a static writeup.
What we learned
Grounding an AI's reasoning in real external data, weather and location instead of just the words someone types, makes a huge difference in how trustworthy its explanation actually feels. I also learned that action tracking only works if completion is tied to something concrete, like a photo, not just a checkbox someone can tick for no reason.
What's next for EcoClip
Next, I want to add real integrations with city 311 systems and local environmental orgs so outreach can be sent directly instead of just drafted, and expand the vision model's role so photo submissions get the same depth of analysis as written ones. I'd also like to turn the score trend into a neighborhood-level view, so people can see collective impact across every report in their area, not just one at a time.
Built With
- css
- groqapi
- html
- javascript
- llama3.3
- sqilite
Log in or sign up for Devpost to join the conversation.