EcoMinutes — Project Story

OregonHacks 2026 · Theme: Nature + Tech
Go outside, with meaningful purpose.

Inspiration

Modern knowledge workers and students spend upwards of 10 to 12 hours a day staring at glowing rectangular screens under artificial indoor lighting. The resulting cognitive fatigue, accommodative eye strain, and autonomic nervous system overload are well-documented. Yet despite dozens of meditation and mindfulness apps on the market, almost none solve the most fundamental human need: getting outside into natural light and living green spaces.

Ecotherapy and biophilia research prove that even 5 to 15 minutes of intentional outdoor exposure dramatically lowers cortisol, boosts dopamine, relieves optical strain, and restores executive function. We built EcoMinutes for OregonHacks 2026 (Nature + Tech) to turn this research into a frictionless, personalized "nature-prescription" companion that helps people step outside, on purpose.

What it does

EcoMinutes is an AI-powered nature-prescription application that connects how you feel with the physical living environment right outside your door:

  1. Field Check-In & Nature Debt: Checks in on your current emotional state (Stressed, Restless, Low Energy, Anxious, Foggy-Headed, or Just Checking In) while displaying your active nature streak and nature debt (hours elapsed since your last outdoor break).
  2. Real-Time Environmental & Light Intelligence: Fetches live weather conditions (temperature, cloud cover, solar position) and calculates an atmospheric Live Light Quality descriptor (e.g., "Golden raking light · 14% cloud" or "Diffused morning canopy").
  3. Interactive Nature Reprieve Maps & Google Maps Directions: Queries nearby parks, community gardens, and nature reserves using OpenStreetMap, mapping them on an interactive Leaflet map with one-click Google Maps navigation.
  4. Gemini 3.6 Flash 3-Sentence Action Plan: Uses Google Gemini Flash to generate an evidence-based, 3-sentence prescription detailing:
    • Sentence 1: The exact physical micro-break action to take at the chosen green space.
    • Sentence 2: A sensory focus task grounded in the current sunlight angle, temperature, and vegetation.
    • Sentence 3: The neurological mechanism explaining why this restores your specific mental state.
  5. Procedural Nature Soundscape & Session Timer: Features a circular countdown timer with mindful sensory cues and an optional, zero-bandwidth Web Audio ambient nature soundscape (breeze, water harmonics, subtle birdsong).
  6. Check-Out, Field Notes & Adaptive Insights: Users log their post-break state and optional field observations ("What did you notice?"). EcoMinutes plots their mood delta trend on a sparkline chart and uses client-side pattern recognition to surface personalized insights (e.g., "You've improved from 2→4 three times after short walks near water").
  7. One-Tap Shareable Break Card: Generates a high-resolution Canvas card capturing the duration, activity, park, light status, mood shift, and field note for sharing.

How we built it

  • Core Architecture & UI: React 18, Vite 6, and Tailwind CSS configured with a dynamic 4-phase time-of-day design system (Morning, Midday, Golden Hour, Night) and clean Helvetica typography.
  • AI Intelligence: Google Gemini Flash API (gemini-2.5-flash / gemini-3.6-flash) with structured JSON schema output for instant, context-aware 3-sentence action plans and robust deterministic heuristic fallbacks.
  • Mapping & Geolocation: Leaflet + OpenStreetMap tiles with custom markers, combined with direct Google Maps route calculation and stand-in fallback coordinates for Downtown Portland if GPS is restricted.
  • Parks & Geospatial Data: OpenStreetMap Overpass API querying live nodes and ways tagged with leisure=park|nature_reserve|garden within an expanding radius ($1.5\text{ km} \rightarrow 4.5\text{ km}$).
  • Atmospheric Weather & Light: Open-Meteo API for zero-key live temperature, WMO weather codes, and cloud coverage fused with solar phase algorithms.
  • Procedural Sound Engine: Web Audio API synthesis creating real-time pink noise breeze modulation, bandpass water harmonics, and randomized sinusoidal birdsong with zero external audio assets.
  • Data Visualization & Analytics: Recharts area sparklines and client-side statistical heuristic algorithms operating on localStorage arrays.
  • Responsive Layouts: Dual display engine supporting both a centered Mobile Phone Frame and an expansive Desktop Panoramic Dashboard.

Challenges we ran into

  1. Overpass API Geo-Query Reliability: OpenStreetMap Overpass queries can occasionally timeout or return sparse data in low-density suburban areas. We engineered an automatic fallback expansion algorithm ($1.5\text{ km} \rightarrow 4.5\text{ km}$) and built-in curated green space fallbacks to guarantee the live demo never fails.
  2. Structured AI Prompting under Real-Time Constraints: Ensuring Gemini Flash consistently adhered to an exact 3-sentence format (Action $\rightarrow$ Sensory To-Do $\rightarrow$ Neurological Mechanism) without conversational preamble required precise system instructions and JSON response schema enforcement.
  3. Zero-Asset Procedural Audio: To keep the web app lightning fast with zero bandwidth lag, we built the nature soundscape entirely through programmatic Web Audio oscillators, pink noise buffers, and LFO-modulated biquad filters rather than downloading large .mp3 files.
  4. Dual Layout Parity: Creating an expansive desktop telemetry dashboard while maintaining pixel-perfect mobile phone frame fidelity required a synchronized, single-source-of-truth state architecture.

Accomplishments that we're proud of

  • True Multi-API Symphony: Seamlessly uniting 4 live data sources (Gemini Flash AI, Overpass OpenStreetMap, Open-Meteo, and Browser Geolocation) into a cohesive, instant experience with zero lag.
  • The 3-Sentence Action Plan Engine: Giving users actionable, scientifically grounded prescriptions rather than vague platitudes like "go take a walk."
  • Adaptive Personal Learning Loop: Building client-side pattern recognition that shows users their own historical response curves ("Why this works for you").
  • Aesthetic Craft & Accessibility: Implementing dynamic time-of-day color themes, crisp Helvetica typography, reduced-motion awareness, audio mute toggles, and downloadable high-res Canvas share cards.

What we learned

  • Context is Everything in Digital Health: An outdoor recommendation is 10x more compelling when it references the real park 400 meters away and the specific 14% cloud cover overhead.
  • Light Quality as a First-Class Metric: Combining cloud cover percentages with solar elevation angles creates an intuitive, poetic metric that motivates users to step outside.
  • Client-Side Privacy: You can build rich trend detection, streaks, nature debt meters, and personalization entirely within localStorage without requiring user accounts or invasive tracking.

What's next for EcoMinutes

  • Native Calendar & Slack Integration: Proactive calendar blocker that spots 15-minute gaps between video calls and prompts: "Golden hour is starting in 10 minutes — step outside before your 4:30 PM sync."
  • Biodiversity & Tree Canopy Heatmaps: Integrating iNaturalist and urban tree canopy data to guide users toward pockets with the highest plant biodiversity.
  • Wearable Bio-Feedback Sync: Syncing with Apple Health, Garmin, or Oura to measure real heart rate variability (HRV) and stress recovery before and after outdoor breaks.
  • Community Nature Moments: Optional, privacy-first community feed celebrating outdoor minutes logged across local neighborhoods and campuses.

Built With

  • ai
  • canvas-api
  • gemini-flash
  • google-gemini
  • gps
  • health-tech
  • leaflet.js
  • mental-health
  • nature-tech
  • open-meteo
  • openstreetmap
  • overpass-api
  • react
  • recharts
  • responsive-design
  • sustainability
  • tailwindcss
  • vite
  • web-audio-api
  • well-being
Share this project:

Updates