This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
We spend so much time looking at screens that sometimes we forget to explore the world outside them. I wanted to build something that uses AI to encourage people to do the opposite.
GreenQuest is an AI-powered outdoor exploration app that turns everyday outdoor activities into personalized mini-adventures.
Instead of endlessly scrolling through social media, users can generate outdoor quests based on their preferences and head outside to complete them.
Each quest contains missions that encourage users to observe their surroundings, explore nature, and take a break from their screens. Whether it's noticing different plants, finding a peaceful outdoor spot, or paying closer attention to the world around you, the goal is to make going outside feel more engaging.
I built GreenQuest for students, people who spend long hours at their computers, and anyone who wants a little motivation to step outside.
The idea is simple: use AI to help people spend less time on screens and more time experiencing the real world.
Demo
🌐 Live Demo: https://green-quest-sigma.vercel.app/
Code
💻 GitHub Repository: https://github.com/Jaswanth-Kumar-2007/GreenQuest
The project uses a React, TypeScript, and Tailwind CSS frontend, with a Python FastAPI backend responsible for AI-powered quest generation.
The application also uses IndexedDB to store quests and related progress locally, allowing users to access previously saved content without depending on a fresh AI request.
How I Built It
I built GreenQuest using a combination of open-source technologies and Google's Gemma model.
My tech stack:
- Frontend: React, TypeScript, Vite, and Tailwind CSS
- Backend: Python and FastAPI
- Primary AI model: gemma-4-26b-a4b-it
- Fallback AI model: gemini-3.5-flash-lite
- AI integration: Google Gen AI Python SDK
- Data validation: Pydantic
- Local storage: IndexedDB
- Progressive Web App: Vite PWA tooling
The core of GreenQuest is its AI-powered quest generator. The backend sends user preferences to Gemma, which generates a structured outdoor quest with multiple missions.
One interesting challenge was getting structured generation to work reliably. I initially used the SDK's response_schema configuration, but testing revealed that it caused requests to hang with my selected Gemma model. I changed the implementation to request JSON output and provide the expected structure in the prompt instead. The backend then validates and normalizes the response using Pydantic before returning it to the frontend.
I also implemented a fallback model so that if the primary model encounters a recoverable API failure, the application can attempt generation using Gemini 3.5 Flash-Lite.
This project taught me that integrating an AI model is about more than sending a prompt and displaying the response. Reliability, validation, error handling, and response times are just as important.
Why Does Open Innovation Matter?
Open innovation matters because developers should be able to experiment, build, and learn without being restricted to a single model or implementation approach.
Using Gemma as the primary model gave me an opportunity to explore how an open-weight model can power a practical application beyond a traditional chatbot.
I could experiment with prompt design, structured JSON generation, model integration, and validation while building something with a specific real-world purpose.
The challenge also pushed me to investigate failures instead of treating the model as a black box. When structured output caused requests to hang, I tested different configurations, identified the problematic setting, and adapted the implementation.
For me, that is an important part of open innovation: having the flexibility to experiment, understand how systems behave, and build useful applications around them.
GreenQuest is my attempt to use AI for something beyond keeping people on their screens. I want it to help people step away from their devices, notice their surroundings, and discover that even a short outdoor break can become an adventure.
Prize Categories
🏆 Best Use of Render
StudyMate is deployed using Render, with the FastAPI backend and React frontend hosted as separate Render services.
Render made it possible to deploy the complete application and make the study companion accessible through a public web interface.
🤖 Best Use of Gemma
GreenQuest uses Gemma, an open-weight AI model, to generate personalized outdoor quests.
When a user requests a quest, Gemma generates a collection of outdoor missions designed to encourage exploration, observation, and time away from screens. The backend validates the generated response using Pydantic before returning the structured quest to the frontend.
Gemma powers the core quest-generation experience, turning a simple user request into engaging, actionable outdoor activities. A fallback model is configured to help handle failures with the primary model.
By integrating Gemma, GreenQuest demonstrates how open-weight AI can be used to build practical applications that encourage healthier relationships with technology. 🌿
👤 Individual Submission
This is an individual submission by Jaswanth Kumar.
DEV Profile: https://dev.to/jaswanthkumarkamireddi
Top comments (0)