# ChromaWild: A Local Gemma-Powered Color Walk

> Source: <https://dev.to/aishik_xd/chromawild-a-local-gemma-powered-color-walk-1nkf>
> Published: 2026-10-11 10:45:30+00:00

**This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05).

**

ChromaWild is a color walk and field journal. It gives you a color to look for outdoors, then lets you compare what you found, save field notes, and sketch the observation.

I wanted the prompts to work for the places people actually walk through. That can be a park, a sidewalk, a bus stop, a playground, a building, a piece of public art, a patch of sky, or a plant. It doesn't have to be a wilderness trail.

The color and subject are generated together by Gemma through Ollama. The app asks the model for a fresh, coherent prompt instead of picking a color from a fixed bucket and attaching a preset nature subject.

There isn't a hosted demo yet. The app runs locally; the repository README has the setup steps: [github.com/sleepyaishik69/ChromaWild](https://github.com/sleepyaishik69/ChromaWild).

To generate quests locally, install Ollama, run `ollama pull gemma2:2b`, then start the app with `npm run dev`.

The browser handles color matching and keeps field entries, photos, sketches, and progress in its local storage. For a new quest, the Next.js API route asks Ollama for a title, color, subject, and outdoor hint, then checks the returned fields and hex value before using them.

The model prompt includes a broad subject list:

``` js
const categories = [
  'plants', 'animals', 'water', 'sky', 'architecture', 'street',
  'transit', 'public art', 'playgrounds', 'outdoor objects',
  'sports', 'food', 'other',
];
```

The default model is configurable:

```
model: process.env.OLLAMA_MODEL || 'gemma2:2b',
format: 'json',
```

Here is the request path:

``` php
flowchart LR
  Browser[ChromaWild in browser] -->|request a quest| Next[Next.js API route]
  Next -->|prompt| Ollama[Local Ollama and Gemma]
  Ollama -->|structured color quest| Next
  Next -->|validated quest| Browser
  Browser -->|color comparison and journal| Browser
```

The implementation is in [the Gemma API route](https://github.com/sleepyaishik69/ChromaWild/blob/main/src/app/api/gemma/route.ts). The repo also has setup instructions, contribution and security notes, and a GitHub Actions workflow for linting, type checking, and building.

With Ollama, the default color-quest generation runs on the machine hosting the app. I can try a different Ollama model by changing configuration, without tying the core feature to a paid inference API. That makes local experimentation possible and keeps the default quest prompt on the local machine.

There are tradeoffs: users need to install Ollama and download a model, and generation speed depends on their hardware. The hosted-app setup is different: Ollama must be reachable from the server, and this project still needs API protections before a public deployment. Optional Groq evaluation and ElevenLabs speech use external services if configured.

The app's public GitHub repository is up, though I still need to choose a project license. I also want to take ChromaWild on an actual color walk and see which prompts are easy to find in an everyday neighborhood.

ChromaWild appears to fit the **Best Use of Gemma** category because Gemma generates quests in the default setup. If the challenge has a separate category-entry step, I'll select it there.
