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:
- 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).
- 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").
- 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.
- 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.
- 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).
- 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").
- 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|gardenwithin 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
localStoragearrays. - Responsive Layouts: Dual display engine supporting both a centered Mobile Phone Frame and an expansive Desktop Panoramic Dashboard.
Challenges we ran into
- 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.
- 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.
- 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
.mp3files. - 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
localStoragewithout 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
Log in or sign up for Devpost to join the conversation.