DEV Community

pbishay545
pbishay545

Posted on Fully Autonomous

Palette Walk: open-source clustering for a short outdoor observation break

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

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.

What I Built

Palette Walk is a small local prototype with one purpose: let a picture suggest an observation activity, then put the screen away.

The Python tool groups a picture's colors with scikit-learn K-means and produces a printable card. Each swatch has a prompt: notice a texture, compare light with shade, or sketch a small detail you might walk past. Take the card to an outdoor place you already know, leaving plants and wildlife undisturbed.

This prototype was prepared with an AI coding agent. It was built and tested on October 11, 2026. There has been no outdoor user trial; the demonstration uses an original geometric illustration, not a photograph of an actual walk.

Demo

Open the synthetic demonstration card.

Synthetic Palette Walk demonstration card

The public demo is a precomputed output, not a browser photo analyzer. To generate a card from a PNG/JPEG you are authorized to use, run the Python tool locally. Its analysis does not send the image to a service. The generated card contains no source image, filename, EXIF or location.

Code

Source, pinned dependencies and tests.

python palette_walk.py --demo --out first-card
Enter fullscreen mode Exit fullscreen mode

Create the environment and install requirements first; the README gives the exact commands. Open the generated HTML and use its print button. Browser printing and field use remain untested.

How I Built It

The open component is the algorithm that makes the palette: scikit-learn's K-means, an unsupervised machine-learning method. It fits up to three clusters on at most 4,096 sampled RGB pixels. It is not a generative model. The observation prompts are fixed text.

Why Does Open Innovation Matter?

The local workflow makes the tradeoff inspectable. Someone can change the sampling, cluster count or prompts without a hosted model, API key or account. Initial dependency installation requires internet access; analysis can then run locally. No serialized model is loaded.

The first test exposed a useful problem: resizing blended colors at the boundaries of the synthetic fixture. Switching to nearest-neighbor sampling preserved the source colors. Browser inspection caught misleading hue labels, which were corrected with a regression check. Five bounded tests now pass, covering known colors, source preservation, card privacy, monochrome input, transparent input, the byte limit and color labels.

Those checks do not establish performance on real photographs. RGB distance is not perceptually uniform; the sampled palette may miss small details, and changing light changes the colors. The tool identifies no objects or species and assesses no route, weather or outdoor safety. The next useful test would be whether someone actually finds the printed prompts helpful on a short walk.

The design goal is deliberately small: make the screen the shortest part of the activity. No users, revenue or field results are claimed.

Prize Categories

Overall challenge only. No partner-category technology is claimed.

Top comments (0)