Works About me Resume Say Hello
Pastiche hero

Pastiche

(brief)

Pastiche is a Figma plugin that turns 500 years of museum painting into ready-to-use design tokens. Pick an artwork, and its palette, primitives, and variables are written straight into your file.


Company
Solo project
Tools
JS, k-means, Figma API
Role
Designer + Engineer
Year
2026

(my role)

I built Pastiche alone, end to end: the color-extraction engine, the token architecture, the plugin UI, and the launch. It is live on the Figma Community, and I wrote about the idea on Medium.

(the problem)

Every palette starts from a blank canvas.

Designers pick colors from scratch or from the same trending palettes everyone else uses. Meanwhile, museums hold thousands of open-access paintings where masters already solved color harmony, five hundred years ago. That knowledge just is not reachable from a design tool.

(1)

I built a color-extraction engine

Pick any of 5,800 open-access artworks from the catalog. Pastiche runs k-means clustering on the painting, then assigns each extracted color a role, dominant, secondary, accent, based on how the painter actually used it. Every swatch points back to where it lives in the painting, you don't just get a hex code, you see why Vermeer put that blue next to that ochre.

Pick a painting

5,800 open-access artworks, searchable by artist and era

k-means extraction

Colors clustered and ranked by how the painter used them

See the source

Every swatch mapped back to its place on the canvas

5,800
open-access artworks in the catalog
3s
from painting to complete token generation
$0
per month, it runs entirely on free tiers
Pastiche plugin UI, final screens

The final plugin panel, colors extracted live from the canvas

Color extraction from a painting Painting library, searchable by artist and era

(2)

I wrote the palette as real design tokens

A palette that stays a moodboard is just decoration. Pastiche writes real Figma variables into your file: primitive scales built from each extracted color, semantic roles on top, and text styles that pass contrast. The painting becomes a working foundation you can actually build on.

You can also take it out of Figma. One click exports the same palette as JSON design tokens or as plain CSS custom properties, so a developer can use it without opening Figma at all. Painting to finished tokens takes about three seconds.

Into your file

Organised variable collections, written straight into Figma

Out as JSON

Standard design tokens any build system can read

Out as CSS

Native custom properties, ready to paste into a stylesheet

Pastiche design tokens, final screens

Primitive scales and semantic roles, written as variables

Pastiche token export Pastiche applied example

(3)

I built it to run on nothing: no servers, no database

I wanted this to stay free to run forever, so nothing that could happen in the browser was sent anywhere. All the heavy work, the clustering and the token writing, happens locally inside Figma. The only outside call is a small Cloudflare Worker that fetches museum images, because browsers block them otherwise.

Runs locally

Clustering, canvas work, and variable writing all happen inside Figma

One worker

A Cloudflare Worker fetches museum images the browser will not load directly

Static catalog

The 82MB painting catalog sits on GitHub, no database to maintain

That is the whole architecture. It costs $0 a month, has nothing to keep patched, and cannot go down because there is no server to go down.

(4)

I shipped it, and wrote about why

Pastiche is live on the Figma Community for anyone to install. The story behind it, why your color palette has been waiting in a museum since 1665, became an article on Medium.

(the outcome)

Approved by the Figma Community the next day.

Pastiche shipped as a real public plugin and was approved within a day of submitting. Designers found it on their own, with no marketing behind it. Solo, end to end, at zero running cost.

What I learned: engineering discipline is a design skill. The right architecture, not the most impressive one, is what lets one person ship something and keep it alive. And art history is an underused design resource: the masters solved colour problems we are still copying badly from Pinterest.

Next project: Distill →