ChromaWild: A Local Gemma-Powered Color Walk A developer built ChromaWild, a local color-walk and field-journal app that uses Gemma 2B through Ollama to generate coherent color-and-subject quests for outdoor observation. The Next.js API route prompts the model for a title, color, subject, and outdoor hint, then validates the returned fields and hex value before the browser handles color matching and stores journal entries locally. The project, which requires users to install Ollama and pull gemma2:2b, has no hosted demo yet and still needs API protections before public deployment. 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.