Smallwild
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Smallwild is an urban nature side-quest generator. Choose how much time you have, what kind of outdoor space is nearby, how you feel like moving, and something you are curious about. A local model turns those broad details into one short invitation to step outside and notice the ordinary wild around you.
It is for people whose nature is a street tree, a crack in the pavement, a courtyard, or a pocket of sky between buildings. There is no address field, GPS, map, route, species identification, pollution score, or safety verdict. The point is not to navigate a screen; it is to take one idea outside and look around.
Demo
Run it locally using the steps below. There is no deployed demo or field-test video included yet.
Code
This repository contains a static HTML, CSS, and JavaScript app. The browser sends the selected prompt to Ollama on the user's machine; there is no project backend and no remote AI API.
How I Built It
Smallwild uses Ollama to run an open-weight model locally. The default is gemma3:1b; the model field can be changed to any model already pulled into Ollama. A constrained prompt asks for a compact JSON quest: an invitation, three things to notice, a listening prompt, and a gentle closing thought. The app renders it as a printable field card. A tiny outing count is stored in local browser storage; no observations, locations, or profiles are saved.
To run it:
- Install Ollama and pull a model, for example
ollama pull gemma3:1b. - Start Ollama and allow the app's browser origin in Ollama's
OLLAMA_ORIGINSsetting. For a local app, that ishttp://localhost:8000. For a forwarded preview, use the exact origin shown in the app's connection error. If you run Ollama manually, for example:OLLAMA_ORIGINS="http://localhost:8000,https://<your-forwarded-app-origin>" ollama serve. If Ollama is already running as a service or desktop app, add the origin to its environment and restart it. AvoidOLLAMA_ORIGINS=*on a network-accessible machine. - In this repository, run
python3 -m http.server 8000and openhttp://localhost:8000. - Enter your local model's name in the form if you chose something other than
gemma3:1b.
After downloading the model, inference and the app's assets can run locally. Smallwild does not fetch weather, air quality, maps, or location data. Its suggestions are creative prompts, not verified ecological facts or personal-safety advice; use your own judgment about where to go.
Why Does Open Innovation Matter?
The useful input here is personal but deliberately approximate: what kind of place is nearby and how much time someone has. A local open-weight model means even those broad clues do not need to go to a hosted API. The model is swappable, the prompt is inspectable, and the static app is easy to remix for another language, neighborhood, or model. Once the model is downloaded, generating a quest does not require a per-request service or an internet connection.
Open innovation also makes the limits visible. Smallwild does not pretend a language model can verify local species, weather, or outdoor safety. It makes a small creative suggestion, then gets out of the way. The tradeoff is that users need Ollama, a compatible device, and a locally downloaded model; response quality varies by model.
My Agent Session
Not included.
Top comments (0)