EcoVision

Inspiration

Everyday choices look cheap or convenient, but their real cost is hidden. I was inspired by how often we overpay—not just in money, but in time, health, and environmental impact—without realizing it. Existing eco apps focus on guilt; I wanted a tool that helps people first, with sustainability as a natural outcome.

What I Learned

I learned how to turn abstract ideas (like CO₂ and sustainability) into clear, actionable decisions. Technically, I improved my skills in AI integration, mobile-first UX, state management, and performance optimization, and learned how much good design matters for real behavior change.

How I Built It

EcoVision is built using Next.js, Tailwind CSS, and Zustand. I used Google Gemini 1.5 Flash to analyze products from camera input and return structured data. All calculations and comparisons run on-device, and data is stored locally for privacy. Shareable impact cards are generated client-side using HTML-to-canvas rendering.

Challenges Faced

The biggest challenges were getting reliable AI outputs, designing a smooth mobile experience, and balancing accuracy with simplicity. Handling camera input, JSON-only AI responses, and performance on low-end devices required multiple iterations and careful optimization.

Math Behind “True Cost”

The core idea is simple: [ \text{Cost per Use} = \frac{\text{Total Price}}{\text{Expected Lifetime Uses}} ]

This makes long-lasting, higher-quality products clearly cheaper over time.

Built With

  • framer-motion
  • google-gemini-1.5-flash-api
  • html2canvas
  • javascript
  • localstorage)
  • next.js-16-(app-router)
  • react
  • react-webcam
  • share
  • tailwind-css-v4
  • typescript
  • vercel
  • vercel-ai-sdk
  • web-apis-(camera
  • zustand
Share this project:

Updates

Submission history