Inspiration

Our inspiration for this project came from the idea of creating something that could turn environmental data into a warning before the damage has been done.

What it does

EcoPulse is an environmental monitoring and forecasting dashboard built for isolated island communities. It tracks live conditions such as: temperature, water quality, air quality, and ocean level, across multiple islands, and translates that data into clear guidance instead of just raw numbers. EcoPulse introduces EcoBot, an AI assistant powered by the Google Gemini API. Instead of just displaying a chart, someone can ask EcoBot a direct question : "how can I save water?" or "why is water quality low?" ; and get a specific instantaneous answer based on the island's current data, not a generic response. The main idea: a weather app describes the world. EcoPulse prescribes the solution.

How we built it

We used Next.js, React, Replit, and TypeScript for the frontend, organized into reusable components for the dashboard, chatbot, island visualization, and navigation. Google Gemini API powers EcoBot — the app passes real-time island data alongside the user's question as context, so responses are grounded in actual conditions rather than generic environmental facts. API routes separate our data-fetching logic (currently reading from structured simulated datasets, built as a drop-in replacement for a real weather/sensor API) from the UI. We also built a custom visual theme around the competition's own dusk-to-sunset island palette, with a color-coded status system (green/gold/coral) so risk levels are readable at a glance.

Challenges we ran into

Getting the frontend and backend pieces talking cleanly took real debugging — from CSS conflicts overriding intended styles, to unclosed HTML tags causing layout to break, to getting the chatbot to maintain enough context to handle natural follow-up questions instead of only responding to exact keyword matches. Rebuilding the dashboard and chatbot within a full Next.js architecture, rather than a single static page, also meant re-learning how data should flow between the frontend and a real backend API layer.

Accomplishments that we're proud of

We're proud of building a working, end-to-end Gemini API integration that grounds its answers in real application data rather than generic responses. We also built multi-island support from day one, so the project scales beyond a single use case, and puts real effort into a visual identity that ties directly into Dreamhack’s own theme. Beyond the code, we're proud of the real hands-on debugging and iteration we did, along with the tips and tricks we learned from industry professionals.

What we learned

We learned how much of building a real product is in the editing of our code : getting a frontend, backend, and an external AI API to all agree with each other cleanly, rather than just building each piece in isolation. We also learned the value of designing for a specific constraint: an isolated island with little infrastructure fallback, instead of a generic use case. Since that constraint is what shaped almost every decision, the data we tracked decides how EcoBot phrases its advice.

What's next for EcoPulse

Next, we'd like to create a type of alert system that can inform residents of any updates. We would want to add a community view so neighboring households can see risk and coordinate resource-sharing — extending EcoPulse toward the Inclusive Communities & Sustainability track as well. We'd also like to expand EcoBot's reasoning to handle multi-step questions, like "what should I prioritize this week?", rather than single-turn answers.

Built With

Share this project:

Updates

Submission history