Sam Packer
Back

September 2026

mise

mise is French for the act of putting something in its place. It’s the mise in mise en scène, everything a director places in the frame: the set, the light, the color, the sound. That’s what the app does. You give it a feeling, and it sets the scene around it.

You type something like “the last warm night before school starts” and press Enter. The page fades to a five-color palette, the room light shifts to golden hour or candlelight or neon, and a typeface loads that fits the mood. Ten tiles rise in: two artworks, two films, two songs, two poems, two books.

Click one and the page takes on that work’s own palette, light, and typeface. The tiles refill with works close to it. Songs play a 30-second preview. Each tile links out to where the work lives, like IMDb or the museum page.

A trail at the top shows the path you took. Click a step or press Escape to retrace it. You can also type a work or artist instead of a feeling. Type “blade runner” and a line reads “in the key of Blade Runner” while the picks lean toward it.

The obvious design sends your sentence to an LLM, has it guess some titles, then calls APIs to look them up. That takes seconds. mise runs MiniLM, a small text encoder, directly in your browser in a web worker. Every work’s vector ships with the site, so a search is one pass of the encoder and a comparison of vectors, with no server round trip. It feels instant. MiniLM learned from a much larger embedding model: the big model learned to match feelings to works, and the small one learned to copy its rankings so it could fit in a browser.

The catalog comes from public APIs and open museum collections, which means messy and uneven data. A language model on my GPU describes how each work feels. I audited those descriptions and found the weak spots came from thin or noisy input, not just the model, so the pipeline pulls in better facts where it can. A stronger model grades every description. Works the pipeline can’t describe reliably get thrown out, and it goes back to the candidate pool for replacements, then labels and grades those, for a few rounds.