I built TouchGrass AI, a local-first AI outdoor companion that creates simple and fun outdoor missions.
The idea is simple: instead of using AI to keep people on a screen, TouchGrass AI uses AI to encourage people to leave the screen and explore the real world. 🌿
The app generates missions such as:
Users can start a mission, complete tasks using an interactive checklist, track their progress, and generate a new mission whenever they want.
Most importantly, the AI runs locally using an open-weight model, so the project does not require a paid AI API.
Local Demo:
The application runs locally with a React frontend and Flask backend.
Frontend:
http://localhost:5173
Backend:
http://127.0.0.1:5000
GitHub Repository:
https://github.com/nandyshirshak-cloud/TouchGrass-AI The repository contains the complete frontend, backend, AI integration, and setup instructions.
TouchGrass AI was built using:
The AI model runs locally through Hugging Face Transformers.
The basic flow is:
User → React Frontend → Flask Backend → Local Qwen AI → Outdoor Mission → User goes outside 🌿
The backend asks the local model to generate a structured outdoor mission containing a title, duration, and tasks.
The frontend then displays the generated mission as an interactive checklist.
I also added a fallback mission so the application can still provide an outdoor activity if AI generation fails.
Open innovation matters because powerful AI should not only be available through expensive closed APIs.
With open-weight models, developers can:
TouchGrass AI is a small example of this idea.
Instead of building another AI tool that encourages people to spend more time online, I wanted to use open AI technology for something very simple:
Use AI to help people spend less time with technology.
The development process involved using AI-assisted coding to design the application, debug the React frontend, connect the Flask backend, integrate the local Qwen model, improve the mission-generation prompt, and prepare the project for open-source publication.
One of the interesting parts was getting the local model to return structured JSON containing:
This allowed the AI-generated content to be displayed directly inside the application.
Most AI applications try to keep users engaged with a screen.
TouchGrass AI does the opposite.
The screen is only used to receive the mission.
After that, the user is encouraged to put the device down and complete the real-world activity.
Less screen. More world. 🌿
I would like to expand TouchGrass AI with:
Built for the Open-Source AI / Touch Grass Challenge.
The project focuses on using open AI technology to encourage people to disconnect from their screens and interact with the physical world.
SHIRSHAK Nandy
GitHub:
https://github.com/nandyshirshak-cloud 🌿 Less screen. More world.
Go outside. Touch Grass.