DEV Community

Smallwild

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

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:

  1. Install Ollama and pull a model, for example ollama pull gemma3:1b.
  2. Start Ollama and allow the app's browser origin in Ollama's OLLAMA_ORIGINS setting. For a local app, that is http://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. Avoid OLLAMA_ORIGINS=* on a network-accessible machine.
  3. In this repository, run python3 -m http.server 8000 and open http://localhost:8000.
  4. 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)