This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
Less scrolling. More living.
What I Built
TouchGrass is an AI-powered outdoor exploration game designed to encourage people to spend less time on their screens and more time experiencing the world around them.
Using open-weight AI, TouchGrass generates short, fun outdoor missions that encourage users to step outside, observe their surroundings, appreciate nature, and earn points for completing activities.
Anybody and everybody can use it.
Demo
Render link: https://touchgrass-46o6.onrender.com/
Github link: https://github.com/Kwemzz/touchgrass
Code Snippet
How I Built It
For TouchGrass, I used Qwen 2.5 (1.5B), an open-weight language model, through Ollama for local AI inference.
I built TouchGrass around the idea of using AI to encourage people to spend less time on their screens and more time exploring the world around them. Instead of generating content that keeps users scrolling, the AI creates short, fun outdoor missions that encourage them to step outside, observe nature, and appreciate their surroundings.
The application uses Python and Flask for the backend, with HTML, CSS, and JavaScript for the frontend. When a user requests a new mission, Flask sends a structured prompt to the AI model, which generates a mission title, three instructions, an estimated duration, and points awarded for completing it.
For the deployed version on Render, I integrated OpenRouter to provide hosted AI inference, since running Ollama locally isn't practical on my current hosting setup. I also implemented a fallback system that provides predefined missions if the hosted AI service fails, ensuring users can still enjoy the application.
The main goal was to demonstrate how open-weight AI can power an interactive experience that encourages real-world activities rather than more screen time.
Some features
AI-Generated Missions: Receive short outdoor challenges with three simple instructions.
Nature Exploration: Discover interesting details in your surroundings through observation-based activities.
Points System: Earn points when you complete missions.
Progress Tracking: Your current mission, completion status, and total points are saved using browser localStorage.
Local AI: Generate missions using Qwen 2.5 (1.5B) through Ollama without relying on a cloud AI API.
Online Demo: The deployed version uses OpenRouter for hosted AI inference, with predefined missions as a fallback when AI generation fails.
Responsive Design: Works across desktop and mobile screen sizes.
Privacy-Friendly: No account or personal information is required to play.
I worked with HTML, CSS, Javascript, Python, Flask, Ollama, Qwen 2.5 (1.5B), Openrouter and Render while building this.
Why Does Open Innovation Matter?
Open innovation matters to TouchGrass because it made AI more accessible and gave me the freedom to experiment with how it could be used.
By using Qwen 2.5 (1.5B), an open-weight model, and Ollama, I was able to run AI locally, experiment with prompts, and build the core mission-generation feature without depending on a paid API or sending every request to an external service.
This was especially important to me as a student developer because I wanted to explore AI beyond simply calling an API. Working with an open-weight model helped me understand how local inference works and how AI can be integrated into a real application.
A closed API could also generate outdoor missions, but it wouldn't give me the same freedom to run the model on my own computer, experiment independently of a provider's pricing and availability, or explore how the application could eventually work without cloud-based AI services.
I also made TouchGrass open-source so other developers can explore the code, contribute new ideas, improve the mission-generation system, and build on the project.
For me, open innovation is about making technology more accessible, encouraging collaboration, and giving developers the freedom to create solutions to everyday problems. With TouchGrass, I wanted to use that freedom to build something that encourages people to disconnect from their screens and reconnect with the world around them.
Prize Categories
Best Use of Render
I am entering the Best Use of Render category because I deployed TouchGrass on Render, making my AI-powered outdoor mission generator accessible to users through a live website.
Render hosts my Flask backend and frontend, while OpenRouter provides hosted AI inference. I also implemented a fallback system to keep mission generation available when the hosted AI service encounters an error.
Live Demo: https://touchgrass-46o6.onrender.com/
I really had a lot of fun while building this and I also learnt a lot while working on this project. If you have further questions, you can let me know in the comments. Thank you.

Top comments (0)