Skip to content

Taste Machine

AI has no context of our visual taste.

Core trick

Saved images and preferences are distilled into a portable taste-spec file that coding agents load as context on each project.

Tags

Description

AI has no context of our visual taste. Every output is bland. As designers, we want the AI to remember our taste. So we built a machine to distill visual preferences into one reusable context skill that any AI tool can ingest. It’s called the Taste Machine. You first train the taste like personalization on Midjourney or import from your existing places you’ve saved inspiration. You then preview your taste into different examples, and then link your taste to your LLM. We’ve built a Chrome extension that then makes it very easy to then continue refining your taste whenever you love something, and your LLM will use the latest version of your taste. Explore other people’s tastes and become a tastemaker.
Yumat10/taste-machine★ 00 forksTypeScriptCreated Jun 13, 2026 · last push Jun 14, 2026

README excerpt

# Taste Machine

Capture your visual/web-design taste — **including what you reject** — into a living,
portable taste-spec that your AI coding agent (Claude Code / Cursor / Codex) pulls fresh
on every project, and that keeps upgrading itself as you flag things you like in the wild.

See [`docs/PRD.md`](docs/PRD.md) and [`docs/DESIGN.md`](docs/DESIGN.md) for the product and
engineering specs, and [`APPROACHES.md`](APPROACHES.md) for the taste-engine core bet.

## Quick start

```bash
pnpm install
pnpm --filter @taste-machine/web dev        # http://localhost:3000
```

No `.env` is required for local dev (defaults: `TASTE_ENGINE=mock`, `DB=memory`). Copy
[`.env.example`](.env.example) → `.env.local` to wire the real engine / Supabase later.

```bash
pnpm -r typecheck                            # typecheck every package + the app
```

## The three lanes (why the seams matter)

This repo is structured so three workstreams develop in parallel **without colliding**:

| Lane | Owns | Lives in |
|---|---|---|
| **Taste engine** (founder) | images/captures → taste-spec + refinement | `packages/engine-claude` (stub) |
| **Experience** (designer + PE) | polished, prop-driven components | `packages/ui` |
| **Scaffolding** | routes, data, API, endpoint, extension | `apps/web`, `packages/db`, `packages/core` |

The contract everything shares is [`packages/core`](packages/core/src): the `TasteSpec`
artifact and the `TasteEngine` interface. **Swapping the real engine in is one env var
(`TAST

Team