This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
A few people tried my first version of Out There and told me it assumed a park and gave them little reason to return the next day. On an ordinary weekday, a pause might fit into a work break, the path across campus, a safe stop during a commute, or a few minutes near home. I changed the app around those moments.
Choose five, ten, or fifteen minutes, a familiar setting, a pace, and something to notice. Gemma turns those choices into one question and three short steps. In one five-minute backyard test, Gemma asked how shadows changed in strong sunlight and suggested watching from a cool, shaded spot. Read the mission, put the screen away, then come back and write down what caught your attention.
I also added a local seven-day rhythm. Saving a reflection marks that day once. The view shows when you made room for a pause; it does not erase the week if you miss a day. The dates stay in the browser. I have not measured whether this helps people return, so I treat it as a design hypothesis to test, not a proven retention feature.
For a commute pause, the app requires you to stay still. Start only after you have stopped somewhere safe. No route, GPS, or account is needed.
Demo
Try Out There: https://la-fora.onrender.com
Code
- Repository: https://github.com/Gaalbu/hacktoberfest-la-fora
- GitHub Actions test and build: https://github.com/Gaalbu/hacktoberfest-la-fora/actions/runs/37814838427
How I Built It
Out There uses React, TypeScript, and Express. Google's open-weight Gemma 4 26B IT creates the observation question and three steps from the time, setting, pace, focus, language, and optional context. The server checks the response shape and a small set of safety rules, then gives Gemma one chance to correct an invalid response.
My first small English check exposed a specific problem: four of twelve replies suggested closing your eyes outdoors, and two also suggested walking toward a porch edge. I tightened the prompt, added a server-side check, and kept one corrective retry. In twelve separate Brazilian Portuguese test replies, none suggested closing the eyes. That is a small test against known failure modes, not proof that every mission is safe.
The deployed app sends mission preferences and any optional context to Google's hosted Gemini API. New missions need an internet connection. Saved missions, reflections, language choice, and the weekly dates stay in browser storage. The app does not request an exact location or an account.
Why Does Open Innovation Matter?
Gemma's open weights give builders the option to inspect, run, and adapt the model. I used Gemma to generate the mission itself, then tested its outputs and changed the prompt and validation when I found unsafe advice. The deployed version uses Google's hosted Gemini API; it does not run inference on the device. That means new missions still depend on Google's service and an internet connection. I want to be clear about which part is open and which part remains hosted.
Prize Categories
- Best Use of Gemma: Gemma creates each tailored observation mission.
- Best Use of Render: Render hosts the public app and mission-generation service.
- Best Use of GitHub Copilot: GitHub Actions installs dependencies, runs tests, and builds the app.
What I Still Need to Learn
The feedback came from a few informal conversations, not a measured retention study. I have not checked whether the weekly view changes return behavior, and I have not documented an outdoor run on a phone. My safety checks catch known wording, but they cannot guarantee every generated suggestion will fit every place. The free Render service may also take time to wake after inactivity.
If you try Out There, tell me which pause fits a day you already have: on the way somewhere, between classes, at work, or close to home.
Top comments (0)