This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
I built TouchGrass AI, an AI-powered outdoor adventure companion designed to turn screen time into real-world activity.
The idea is simple: instead of keeping users inside an AI chat, the AI gives them a reason to put the phone down and go outside.
Users choose how much time they have, their environment, their mood, and what kind of experience they want. TouchGrass AI then generates a personalized outdoor mission, such as exploring nature, taking a short walk, observing plants or birds, or completing a small outdoor challenge.
The website also includes:
The target audience is anyone who spends too much time on screens and needs a simple push to get outside.
The core philosophy is:
The best AI interaction is the one that gets you to stop using the AI.
Live Website:
https://ayushkasaudhan957-eng.github.io/TouchGrass-AI/
The website is deployed and can be used directly in the browser.
GitHub Repository:
https://github.com/ayushkasaudhan957-eng/TouchGrass-AI
The complete source code is open and available in the repository.
TouchGrass AI is built around open-weight AI models accessed through Hugging Face Inference Providers.
For text generation, I used:
openai/gpt-oss-120b) Qwen/Qwen2.5-VL-3B-Instruct) for vision-based image analysis
Hugging Face Inference Providers provides access to open models through an OpenAI-compatible chat-completion endpoint, allowing the application to use hosted inference without requiring users to download a local model.
User
↓
TouchGrass AI Website
↓
HTML + CSS + JavaScript
↓
Node.js / Express Backend
↓
Hugging Face Inference Providers
↓
Open-Weight AI Models
↓
Personalized Outdoor Mission / Nature Analysis
The frontend handles the user experience, mission builder, timer, XP, journal and image upload.
The backend acts as a secure AI proxy so that the Hugging Face API token is not exposed in the browser.
For mission generation, the user's preferences are converted into a structured prompt and sent to the open-weight language model.
For the nature discovery feature, an uploaded image is sent to a vision-language model which analyzes what is visible and provides an AI-generated observation.
I intentionally chose hosted inference instead of requiring users to install Ollama, LM Studio, or download large models. This makes the project much easier to try while still keeping open-weight models at the core of the AI functionality.
Open innovation makes this project possible because the AI layer is not loc