This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
A lot of apps ask us to spend more time looking at a screen. UnSit is meant to do the opposite: help someone choose a small outdoor break, then put their phone away.
UnSit creates gentle movement-break options based on how much time someone has, their energy, where they’re headed, and what feels comfortable.
Choose a 5-, 10-, or 15-minute break and set a focus and outdoor setting. UnSit offers three options: an outdoor walk, a park or bench reset, and a porch or balcony reset. Pick one to start a timer; after the break, an optional check-in and a small activity history stay in the browser.
Demo
https://unsit.onrender.com
Code
UnSit
UnSit is a guest-first, local-first web app for short outdoor movement breaks. Pick a time, energy level, focus, and setting to get three options: an outdoor walk, a park/bench reset, or a porch/balcony reset.
The dashboard shows progress toward a five-break weekly goal and a seven-day streak ring. After a break, users can optionally record a private, subjective check-in (better, the same, or not so great); it is not a pain score or medical assessment.
The interface is a mobile-ready PWA. On a secure origin, users can opt into running Gemma 3 1B directly in a WebGPU-capable browser; inference stays on the device. The first use downloads about 600 MB of model data, so the app keeps its built-in plans available as a no-download fallback. Personal plans and check-ins stay in that browser's local storage. The Node/Ollama endpoint is only used on localhost when browser Gemma is unchecked. The…
How I Built It
- Vanilla JavaScript, HTML, and CSS
- Node.js for local Gemma/Ollama integration
- Gemma 3
- A service worker, web app manifest, and browser local storage
Why Does Open Innovation Matter?
For an app involving personal comfort preferences, local inference is useful because the user can try model-generated suggestions without sending those preferences to a hosted AI provider. Using an open-weight model also makes it possible to run the generation path on a device the user controls.
Prize Categories
- Best Use of Gemma
- Best Use of Copilot
- Best Use of Render
Top comments (0)