Inspiration

GreenStreak was inspired by the idea that spending time in nature should feel less like a chore and more like a small daily adventure. We wanted to create an app that encourages people to step outside, notice their surroundings, and build sustainable habits through a fun reward system.

The concept combines a cozy virtual garden with real-world nature activities. Every completed nature quest earns 🍃 Leaves, which can then be used to grow a virtual garden. The app also includes weather information and an Explore Nearby Nature feature that helps users discover parks, trails, gardens, viewpoints, and other nature spots.

What it does

GreenStreak turns small outdoor actions into a rewarding daily habit.

Virtual Garden

Users earn Leaves by completing nature quests and can use those Leaves to grow their virtual garden.

Streaks & Quests

Daily nature activities encourage consistency and make sustainable habits feel like a game.

Weather

GreenStreak provides weather information so users can better plan outdoor activities.

Explore Nearby Nature

Users can discover real parks, trails, gardens, viewpoints, and other nature spots using OpenStreetMap-based location data.

Community

Community features add another layer of motivation and participation.

How we built it

GreenStreak was built using Python and Streamlit, with custom HTML/CSS styling for the interface.

We used JSON-based data storage for application and community data. Environmental features use external services including OpenStreetMap-based location data and Open-Meteo weather data.

The project was developed and tested locally, then published to GitHub and deployed using Streamlit Community Cloud so users can access the application through a web browser without installing Python or running the project locally.

Challenges we ran into

One of our biggest challenges was connecting a polished interactive Streamlit interface with features that depend on external services.

We also had to work through Streamlit reruns, session state, persistent data, interactive UI behavior, external-service errors, and the Explore Nearby Nature feature.

Another challenge was moving the project from a local Streamlit application to a publicly accessible web application through GitHub and Streamlit Community Cloud.

Accomplishments that we're proud of

We are proud of turning a simple sustainability idea into a complete interactive experience rather than just a static information page.

GreenStreak combines real-world outdoor activities, a reward system, a virtual garden, weather information, nearby nature discovery, and community features into one cohesive experience.

We also successfully published our source code on GitHub and deployed a public web demo.

What we learned

Building GreenStreak taught us how to structure an interactive Python web application, manage state across Streamlit reruns, work with external APIs and location data, handle persistent JSON data, create custom web styling, and deploy an application to the cloud.

We also learned how important error handling is when an application depends on external services.

What's next for GreenStreak

Future versions could add richer personalization, more nature quests, better location search and filtering, stronger streak and reward mechanics, more garden customization, achievements, and improved reliability for external nature and weather services.

Our long-term goal is to make GreenStreak a simple companion for turning small outdoor actions into lasting sustainable habits.

Built With

Share this project:

Updates

Submission history