A personal experiment · Mac · Local-first
UI references your agents can actually use.
We all save screenshots of designs we love. But a screenshot doesn't carry the exact colors, shadows, easing, or interactions, so an agent building from one guesses, differently every time. uistash extracts the real thing once: living code, real tokens, working interactions. And what you keep distills into a file your agents read as taste.
Screenshots make agents guess. uistash saves living code — tokens, interactions, rationale — and distills what you keep into a taste file they can read.
How a reference is born
01
Drop
Drop a screenshot anywhere.
Images and GIFs land from your desktop — the drop overlay catches them globally, not in a single zone.
02
Stage
Pick an engine. Mark what mattered.
Claude Code, Codex, Cursor — or your own API keys. Survey chips for motion, color, type, layout. Start when you're ready.
03
Build
Watch it become code.
A build rail lights up as real files land — tokens first, then components, assembly, proof. And proof means measured: the rebuild is compared against your original, region by region, and refined until it holds. A camera and a ruler — never an AI grading its own homework.
04
Live
It joins your stash as living code.
Real renders, inspectable tokens, working interactions — machine-readable for the agents you already use.
Scroll to see how it works
The gap
A picture guesses. Code knows.
Feed the same screenshot to an agent twice and you get two different interpretations — because the specifics were never in the file. This is what your reference actually carries, before and after uistash:
Same screenshot, two builds, two guesses. Here's what the file actually carries:
your-reference.png
- some kind of bluewhich one?
- roundish corners8px? 14px? 20px?
- a soft shadowalpha? layers?
- probably animatescurve? duration?
- looks clickablehover? active? empty?
every build: a new guess
your-reference/ · tokens.css · DESIGN.md · index.html
--accent: #0048ff; /* CTA + selection only */
--radius-card: 18px; /* pills 999 · frames 28 */
--shadow: 0 8px 24px rgb(0 0 0 / .10);
cubic-bezier(.25, 1, .5, 1) · 240ms · 90ms stagger
states: hover · active · drag · empty /* working */
every build: the same truth
Stash
A gallery that's alive.
Every entry is running HTML — live-rendered cards with token strips and a green dot when the interactions actually work. Search by title, tags, fonts — or flip vibe search and rank by feel.
Live HTML cards — tokens, interactions, search by feel.
Inspector
Tags, color tokens, fonts, accent rules, interactions, and an inline DESIGN.md — fetched from the reference itself.
Preview modes
Inspect resolves measurements to the reference's own tokens. Motion scrubs real animations like a DVR. Comment anchors taste notes to elements. Full version history on every entry.
Yours, on disk
The library is folders and files in a local git repo. No database, no cloud, no export lock-in — and delete moves to the Trash, never to oblivion.
Inspect
Motion
Taste · tastestack.md
A mirror, not a horoscope.
You never fill out a style quiz. uistash counts what you save — the type that repeats, the color logic, the spacing, and just as loudly, what never appears. The result is tastestack.md: your taste as a file, where every claim cites the references that earned it. A young library reads as a thin portrait — the page says so instead of faking depth.
No style quiz. What you save becomes tastestack.md — claims with citations, not a horoscope.
01
Capture
Every save, annotation, and rejection becomes evidence.
02
Distill
Invariants, tendencies, negative space — each claim cited.
03
Inject + lint
Your defaults ride into every generation; a lint checks the output kept them.
04
Measure
Lab runs blind evals — you pick before labels reveal.
The model is frozen; the file learns.
Agents · MCP
Serve it to the tools you already use.
A local MCP server at http://127.0.0.1:8940/mcp — HTTP and stdio. Agents search your references, read tokens and rationale, pull your taste.
cursor · composer
MCP · uistash · connected
›
Message agent…
↵
"Add this reference to uistash"
From any agent session — a URL or screenshot becomes a coded specimen in your library.
"Use my uistash references"
Generation pulls from your stash and tastestack — built to feel like yours, and to measure whether it does.
Pay the extraction once
You stop pasting screenshots into every session. The image is analyzed once, at import — after that your agents read compact text: tokens, rules, rationale. No re-uploading, no re-interpreting, no vision tokens burned on the same picture for the hundredth time. A reference gets cheaper the more you use it.
Analyze once at import. After that agents read tokens and rules — not the same image again.
Local-first, private
Library, taste data, keys — all on your machine. Nothing leaves except by your explicit act.
Lab · Blind evaluation
Measured, not promised.
Your own UI lab, running locally. Every AI product this year says "personalized" — almost none can prove it. uistash ships the instrument instead: sealed experiments where you judge blind — same brief, with and without your taste — and the labels only reveal after you choose.
Blind side-by-sides, with and without your taste. You pick first; labels come after.
Sealed, so you can trust yourself
An experiment locks its briefs and arms before the first round and shows no running score. Some rounds are quiet controls that measure your own bias and consistency. The person hardest to fool should be you.
Your own model leaderboard
Every model has a different eye — and none of them is graded on yours. Rank the frontier engines blind, against your own picks, and learn which one already designs like you. Then spend accordingly: the leaderboard turns "which AI should I use?" from a Twitter debate into a measurement.
designs most like you · ranked by blind picks · illustrative
1engine A12W — 3L
2engine B8W — 7L
·engine C3 rounds — too early to rank
The judge earns its job
A machine judge predicts your picks, anchored to your actual saves. It's calibration, never a substitute — human evidence and machine verdicts live in separate ledgers, and agreement is tracked where it can't cheat.
The experiments are designed. The instrument is built. The evidence is being collected — by the people using it. Early access isn't a queue; it's joining the study. How the Lab works →
Early access is joining the study. How the Lab works →
· Why
Taste is the invariant.
Every artist's works are different; the personality is invariant. A designer's taste isn't a style — it's the selection function that survived years of admiring great work, absorbing references, and being merciless about your own craft. Ira Glass called the gap between your taste and your output the thing that drives you.
uistash is that gap, externalized: the library holds what you admire, the ledger holds what you judged, and the file that falls out is the most honest description of your eye that has ever existed — because every claim in it cites the evidence that earned it.
And to say it plainly: uistash is a personal experiment. I built it to answer a question about my own eye, and it turned out to be a tool I use every day. I wanted other people to be able to run it — that's the whole business model.
Taste is selection, not style. uistash externalizes that gap as a library, a ledger, and a file — a personal experiment you get to run too.
· Before you ask
Straight answers.
What am I buying?
The app as it exists today — which I use every day.
$79, one-time. No less, no more. No subscription, no tiers, no launch-window games. One promise, and only one: your money back within 14 days, no questions asked.
The receipt below.
Will it be updated?
When the experiment continues — which, so far, is most days. That's a practice, not a promise: there is no roadmap, no SLA, and nothing on this page is sold on futures. What you buy is what exists. If that's not enough today, don't buy it yet.
Do I need my own AI?
Yes — uistash drives the agent CLIs and API keys you already have (Claude Code, Codex, Cursor, or direct keys). It never resells AI, marks up tokens, or proxies your accounts. Your keys stay on your machine, and every model-touching action shows its cost before it runs.
Where does my data live?
On your Mac: folders, files, and a local git repo. The taste ledger, the pairs, the keys — none of it leaves except by your explicit export.
What is uistash not?
Not a cloud service. Not a subscription. Not a startup with a roadmap. Not a screenshot organizer. Not another AI that claims to know you without showing its evidence. A personal experiment, priced once, that you get to run too.