This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Touch Grass Nudge is a one-page web app that gives you a tiny outdoor mission. You pick how long you have (5, 10 or 20 minutes), where you are (balcony, city street, near a park, campus or office) and how you feel (screen-tired, stressed, bored or restless). It replies with three short lines: a mission, why it helps, and what to bring.
It's for anyone who has been staring at a screen too long and doesn't want to plan anything to step outside. There are no accounts, no tracking and nothing to install.
Demo
https://jhashashwat25-creator.github.io/touch-grass-nudge/
The first run downloads the model, a few hundred MB, so give it a minute. After that your browser caches it. It works best in recent Chrome or Edge on a laptop or desktop.
Code
Touch Grass Nudge
Pick how long you have, where you are and how you feel. A small open-weight language model running inside your browser tab writes you one tiny outdoor mission.
Built for the Hacktoberfest Open-Source AI Challenge: Week 1 (Touch Grass) on DEV.
Live demo: https://YOUR-USERNAME.github.io/touch-grass-nudge/
The open-source AI at its core
- Model: Qwen2.5-0.5B-Instruct (ONNX build: onnx-community/Qwen2.5-0.5B-Instruct), released under the Apache-2.0 license.
- Runtime: Transformers.js (Apache-2.0), using WebGPU when available and falling back to WebAssembly on CPU.
- Local inference: no API key, no backend, no server. Your choices never leave your device.
Why open innovation matters here
A "go outside" nudge should not need an account or a data plan. Because the model weights are open, the whole app can be one static page that anyone can host for free, read, fork and change.
Run it locally
git clone https://github.com/YOUR-USERNAME/touch-grass-nudge.git
cd touch-grass-nudge
python -m http.server 8000
Open http://localhost:8000…
The whole app is three files: index.html, README.md and an MIT LICENSE.
How I Built It
-
Model: Qwen2.5-0.5B-Instruct (Apache-2.0), using the ONNX build from
onnx-community. - Runtime: Transformers.js. It uses WebGPU when the browser supports it and falls back to WebAssembly on CPU.
- Prompting: a short system prompt forces a fixed three-line format (Mission, Why, Bring) under 60 words, with no emojis and nothing that needs money or special gear. That keeps a very small model's output short and usable.
- Hosting: because inference happens in the browser, the whole thing is a static page on GitHub Pages. There is no server and no API key.
I used Claude to help write the code and README, then tested it myself.
Why Does Open Innovation Matter?
A "go outside" nudge shouldn't need an account, a data plan or someone else's server. Open weights made it possible to ship the model with the page and run it on the user's own device, so what you pick (your mood, your location type) never leaves your browser.
A closed API would have meant a backend, a key to protect and a usage bill, and it would stop working the day the provider changed terms. With open weights, anyone can host this for free, read every line, swap in a different model or fork it for their own city.
Top comments (0)