{"slug": "touchgrass-ai-less-screen-more-world", "title": "TouchGrass AI 🌿 — Less Screen. More World!", "summary": "A developer built TouchGrass AI, a local-first outdoor mission generator that uses AI to create personalized real-world activities based on a user's available time, energy, interests, and company, aiming to nudge people away from screens. The full-stack application combines a React and Vite frontend with a Node.js and Express backend, and was tested with Gemma 3 4B running locally through Ollama alongside a Gemini API integration for hosted generation. The developer also experimented with Backboard for retaining user context and implemented backend preference-saving for time, energy, interests, and company settings.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge. Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*\n\nWhat if AI encouraged us to spend less time online and more time experiencing the real world?\n\nThat question inspired me to build TouchGrass AI — an AI-powered outdoor mission generator designed to help people take breaks from their screens and reconnect with the world around them.\n\nAs students and developers, we can easily spend hours sitting in front of our laptops. Between coding, studying, debugging, and scrolling, sometimes we need a little push to step outside.\n\nInstead of building another AI tool that keeps users engaged with a screen, I wanted to explore a different idea: using AI to help people step away from technology.\n\nTouchGrass AI turns the simple intention of going outside into a personalised, achievable mission.\n\nUsers can customise their experience based on:\n\nThe application uses these preferences to generate an outdoor mission. Users can then complete the activity and track their progress through the app's gamified experience.\n\nThe idea is simple: make taking a break feel less like another task and more like a small adventure.\n\nTouchGrass AI is for students, developers, remote workers, and anyone who spends a lot of time online and wants a gentle reminder to move, explore, and experience life beyond a screen.\n\nMy guiding philosophy:\n\n*Less screen. More world.* 🍃\n\n🌐 **Live application:**\n\n🎥 **Video demonstration:**\n\n💻 **GitHub repository:**\n\n**AI that gives you a reason to leave the screen.**\n\nTouchGrass AI is a local-first outdoor activity companion that uses AI to generate personalized, real-world missions based on your available time, energy, interests, and company.\n\nInstead of keeping users inside another chatbot, TouchGrass AI encourages them to **go outside, move, observe, explore, and interact with the physical world.**\n\n🌐 **Live Demo:** [https://touchgrass-ai-fq0a.onrender.com](https://touchgrass-ai-fq0a.onrender.com)\n\nTell TouchGrass AI:\n\nThe AI generates an outdoor mission tailored to your preferences.\n\nEach mission includes:\n\n**Quiet Campus Explorer**\n\nTurn an ordinary walk into a deliberate exploration by observing environmental details, noticing patterns in nature, and experiencing your surroundings…\n\nThe project is publicly available, and the repository contains the application code and project documentation.\n\nTouchGrass AI evolved from a simple concept into a full-stack application involving frontend development, backend APIs, AI integration, memory experiments, local inference, and cloud deployment.\n\nI used React and Vite to build the user interface, with CSS to create a minimal, nature-inspired visual identity. The interface lets users select their preferences, request a mission, and interact with their progress without demanding constant attention like a productivity dashboard.\n\nThe Node.js and Express backend handles requests from the frontend and provides the API layer for mission generation.\n\nThe intended workflow is:\n\nBuilding this flow taught me that an AI application is not just a single prompt; the frontend, backend, model runtime, API configuration, and error handling must all work together.\n\nOne of the most educational parts of this project was experimenting with Gemma 3 4B through Ollama. Running the model locally helped me understand how open-weight models can be integrated without relying exclusively on a hosted inference API.\n\nDebugging local model configuration and backend integration errors helped me understand the deeper connection between model runtimes and Express APIs.\n\nI also experimented with Backboard to explore how an AI application could retain useful context about a user. In the backend, I implemented preference-saving functionality that records details such as selected time, energy, interests, and company preferences.\n\nAlongside local Gemma and Ollama experiments, I worked on a Gemini API integration for hosted AI generation and explored Tinker separately for model fine-tuning and evaluation workflows.\n\nI deployed the application using Render, making the project accessible through a public URL. Deployment introduced a great lesson: a site loading successfully doesn't mean every backend integration works out-of-the-box; AI generation must always be tested end-to-end in production.\n\nFor me, open innovation is about having the freedom to experiment, learn, adapt, and build beyond the boundaries of a single closed service. Working with open-source tools and open-weight models provides:\n\nTurn an ordinary walk into a deliberate exploration by observing environmental details, noticing patterns in nature, and experiencing your surroundings without digital distractions.\n\n| Feature | Description | \n|---|---|\n| Personalised missions | Generate outdoor activities from user-selected preferences. | \n| Local AI inference | Run missions locally using Ollama and Gemma 3 4B. | \n| Cloud AI generation | Use Gemini through the deployed backend. | \n| Memory-powered personalisation | Backboard stores and retrieves outdoor preference memories. | \n| Outside Mode | A distraction-free experience designed around completing the mission. | \n| Mission history | Review previously generated missions. | \n| TouchGrass Score | Earn points for completing missions. | \n| Streaks and milestones | Track progress and encourage consistent outdoor activity. | \n| Local persistence | Save progress in the browser using `localStorage` . | \n\nThe local setup supports inference on the user's machine after the required model has been downloaded. Mission history and score are stored separately in browser localStorage.\n\nThe deployed application uses Gemini for cloud-based mission generation. The local Ollama setup is used for local development and testing; it is not automatically available to the cloud deployment.\n\n| Component | Technology | \n|---|---|\n| Frontend | React, Vite, CSS | \n| Backend | Node.js, Express | \n| Local inference | Ollama | \n| Local model | Gemma 3 4B | \n| Cloud inference | Gemini API | \n| Preference memory | Backboard | \n| Fine-tuning experiment | Tinker, LoRA | \n| Deployment | Render | \n| Browser persistence | localStorage | \n\nTouchGrass AI also includes a domain-specific fine-tuning experiment using Tinker.\n\n`Qwen/Qwen3.5-4B`\n`touchgrass-v1`\nThe training examples were designed to encourage the behavior required by TouchGrass AI:\n\nA general-purpose model can suggest outdoor activities, but TouchGrass AI has a more specific goal: generate practical missions that encourage users to disconnect from their screens.\n\nThe experiment explored whether a small, domain-specific dataset could encourage more consistent adherence to these requirements.\n\n**AI should create a reason to leave the screen, not another reason to stay on it.**\n\nThe fine-tuned model was compared with base-model generations using the same prompts.\n\nIn the observed examples, the fine-tuned model showed stronger adherence to some screen-free and outdoor-activity constraints. However, the results were not consistently better across every dimension, including creativity and specificity.\n\nThe experiment is preliminary. With only eight training examples and ten training steps, it does not establish a general performance improvement. A larger dataset, repeatable evaluation set, and quantitative measurements would be needed to support stronger conclusions.\n\nThe fine-tuned checkpoint is a separate experiment and is **not the model currently serving missions in the live application**.\n\nTouchGrass AI explores how locally run AI can support a more privacy-conscious, accessible experience.\n\nOllama provides the local inference tooling, while Gemma 3 is an open-weight model distributed under its applicable license. These are distinct from the separate cloud Gemini integration.\n\n```\ngit clone https://github.com/rasikachavan13/-TouchGrass-AI.git\ncd -TouchGrass-AI\nollama pull gemma3:4b\n```\n\nMake sure Ollama is running before generating missions locally.\n\n```\ncd backend\nnpm install\n```\n\nCreate a `.env` file using `.env.example` as a reference.\n\nConfigure the local model and, if desired, your Backboard credentials:\n\n```\nPORT=5000\nFRONTEND_URL=http://localhost:5173\n\nOLLAMA_HOST=http://127.0.0.1:11434\nOLLAMA_MODEL=gemma3:4b\n\nBACKBOARD_API_KEY=\nBACKBOARD_ASSISTANT_ID=\n\nGEMINI_API_KEY=\nGEMINI_MODEL=gemini-3.8-flash\n```\n\nStart the backend:\n\n```\nnpm start\n```\n\nOpen a second terminal:\n\n```\ncd frontend\nnpm install\n```\n\nCreate `frontend/.env` with:\n\n```\nVITE_API_URL=http://localhost:5000\n```\n\nStart the frontend:\n\n```\nnpm run dev\n```\n\nOpen the local URL printed by Vite, usually `http://localhost:5173`.\n\nMy project explored open-weight AI through Gemma 3 4B and Ollama, and I used Render to host the application. I will only claim specific partner prize categories if the implementation meets their official requirements.\n\nTouchGrass AI began with a small question: *could technology help us become more intentional about using technology itself?*\n\nNot every experiment became part of the production application, and not every integration worked on the first try, but those challenges formed the core of the learning process.\n\nWhat would you build if AI's purpose were to help people reconnect with the real world? Let me know in the comments below! 👇", "url": "https://wpnews.pro/news/touchgrass-ai-less-screen-more-world", "canonical_source": "https://dev.to/rasikachavan13/touchgrass-ai-less-screen-more-world-4j0", "published_at": "2026-10-10 20:07:11+00:00", "updated_at": "2026-10-10 20:16:13.679796+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "generative-ai", "large-language-models", "developer-tools"], "entities": ["TouchGrass AI", "React", "Vite", "Node.js", "Express", "Gemma 3 4B", "Ollama", "Gemini API"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/touchgrass-ai-less-screen-more-world", "markdown": "https://wpnews.pro/news/touchgrass-ai-less-screen-more-world.md", "text": "https://wpnews.pro/news/touchgrass-ai-less-screen-more-world.txt", "jsonld": "https://wpnews.pro/news/touchgrass-ai-less-screen-more-world.jsonld"}}