Inspiration

Art mashups are everywhere, but the curation behind them is usually invisible: why these sources, why this combination, and what did each one contribute? PaletteMash makes the curator visible. Pick 2–3 artworks, and an AI curator blends their palettes into a new generative piece — and shows its work in a curation statement.

What it does

Pick 2–3 source artworks. PaletteMash extracts each palette, assigns curatorial roles — atmosphere, movement, and structure — and composes a new generative artwork: a gradient wash, a seeded flow field, and geometric shards. It then prints a curation statement listing the sources, the exact hex colours taken from each, the role of each palette, the seed, and the method.

For example, Swirl Night plus Great Wave produces a luminous night-sea; add Grid Composition and Mondrian geometry organises the weather. Order matters, because it changes which palette gets which role. A turbulence slider reshapes the flow field, you can export a PNG, and you can use your own photo as a palette source, processed on-device.

How we built it

PaletteMash is zero-dependency JavaScript, with one core library that runs in the browser and in Node. Three seeded procedural painters render the source studies pixel by pixel; quantisation extracts their palettes; and a role-based renderer layers gradient wash, structural shards, flow-field ribbons, accent orbs, grain, and vignette. The output is deterministic from its seed. A built-in-zlib PNG encoder powers the headless test and screenshot workflow.

How AI was used — the honest version

First, the tool itself is generative and procedural: seeded flow fields plus palette quantisation, implemented as ordinary code. It is NOT a diffusion model, it was not trained on anyone's art, and it contains no model weights; its curation is explicit, inspectable rules. Second, the building of the tool was done by AI agents (Tree / Muse fleet) directed by Rene Turcios, who set the concept and constraints — including the art-ethics constraint — and reviewed the result.

Art and copyright

Every visual is generated by this repository's own code. The built-in sources are original procedural renderings inspired by public-domain works — Van Gogh's The Starry Night (1889; d. 1890), Hokusai's Great Wave (c. 1831; d. 1849), and Mondrian's 1930s compositions (d. 1944) — credited in the repository's SOURCES.md. No artwork image was scraped, downloaded, bundled, or transformed, and no copyrighted art was used at any step. Only colours extracted from pixels this code painted itself travel into the output.

Challenges we ran into

Blending three palettes without mud: the answer was roles, not ratios — each palette gets a job rather than a share. Provenance was the other challenge: an early design using Wikimedia public-domain images was replaced with fully procedural sources, so every pixel in the pipeline is generated by this code.

What's next

More procedural studies (Bauhaus, pointillism), drag-to-assign roles, print-ready export, and a gallery-wall mode.

Try it

Repository: https://github.com/CloudCorpRecords/palettemash

Run node server.js and open http://localhost:4173. Screenshots are in the repository's output/ folder.

Build Disclosure

Build Disclosure: AI-built. Built by AI agents (Tree / Muse fleet) directed by Rene Turcios during the hackathon period; Rene set the direction and reviewed; agents designed, coded, and tested.

Share this project:

Updates

Submission history