DEV Community

Cover image for Submit to the week 1 DEV Challenge(hactoberfest)
Naresh Kumawat
Naresh Kumawat

Posted on

Submit to the week 1 DEV Challenge(hactoberfest)

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

TouchGrass AI is an open-weight, privacy-first outdoor companion. Instead of an infinite feed or endless chatbot conversations, it generates one personalized, safe outdoor micro-mission at a time—then explicitly asks you to put your phone away and step outside.
Key Features:
Personalized Micro-Missions: Tailored to your available time (5 to 30 mins), preferred activities (nature walks, photo hunts, sound mapping, plant observation), fitness level, local weather (via Open-Meteo), and nearby green spaces (via OpenStreetMap).
Distraction-Free Mission Mode: Once started, the interface strips away all non-essential UI, showing only a minimal timer, current objective, and the reminder: "Put your phone away 🌳".
Open-Weight Vision Discoveries: When you return, take a photo of a leaf, bird, insect, tree, or plant. An open-weight vision model provides a hedged identification, visual reasoning behind the guess, and safe natural facts.
Anti-Addictive Gamification: Points and leveling measure real minutes spent outdoors—never screen time or daily login streaks. No ads, no tracking, and zero streak guilt.
100% Offline & Local Capabilities: Runs completely offline using local open-weight models via Ollama and PWA caching.

Demo

https://touchgrass-ai-hwlk.onrender.com/

Code

https://github.com/Nareshkumawat-star/touchgrass-ai

How I Built It

Open-Source AI & Models
Text / Mission Generation: Qwen2.5-1.5B-Instruct (qwen2.5:1.5b) running locally via Ollama. Licensed under Apache-2.0, it runs in ~15-20 seconds on a standard laptop CPU while reliably generating structured JSON missions.
Vision / Photo Analysis: Qwen2.5-VL-3B-Instruct (qwen2.5vl:3b) via Ollama. An Apache-2.0 vision-language model used for identifying flora and fauna, providing visual feature breakdowns and educational facts without making unsafe medical or edibility claims.
Remote Hosted Fallback: Optional Hugging Face Inference API integration running Qwen/Qwen2.5-7B-Instruct and Qwen/Qwen2.5-VL-7B-Instruct for serverless/cloud deployments.
Zero-Failure Floor: OfflineTemplateProvider containing hand-crafted, reviewed outdoor templates used whenever no AI runtime is reachable.
Built-in Safety & Sanity Pipeline
All AI outputs pass through a strict server-side safety review (src/lib/safety.ts). Any mission suggesting trespassing, climbing dangerous heights, entering open water, approaching wildlife, or walking in traffic/darkness is automatically rejected and replaced with a reviewed safe template.

Why Does Open Innovation Matter?

Privacy & Data Sovereignty: Closed AI cloud endpoints require sending sensitive real-time location data and personal photo streams to third-party servers. Open-weight models running locally via Ollama ensure 100% of location context and camera photos stay on the user's device.
Offline Resilience & Zero Key Dependencies: Nature walks often happen in areas with low cell service. Open innovation makes it possible to generate AI missions and run vision identification deep in a forest trail with zero internet connection, zero API keys, and zero subscription fees.
Licensing Transparency: Proprietary APIs operate as black boxes. Open weights allow us to inspect exact weights, verify licenses (Apache-2.0), and present full licensing attribution directly to the user in the app UI.
Re-orienting AI for Human Well-Being: Closed commercial AI is structurally incentivized to maximize user retention and screen time. Open innovation gives developers the freedom to build AI tools designed specifically to disconnect users from digital screens and reconnect them with the physical world.

Prize Categories

Main Challenge: Touch Grass (Hacktoberfest Open-Source AI Challenge Week 1)
Open-Source AI / Open Weights Track: Built entirely around Apache-2.0 open-weight models (Qwen2.5-1.5B and Qwen2.5-VL-3B).

team leader (username):nareshkumawatstar

Top comments (0)