Roast — The Taste Layer for AI Agents. Design review, critique, and evaluation for coding agents.

DESIGN
D.O.C.S MCP

A native design collaborator for your coding agent. Roast holds the brief, tracks progress across iterations, adapts how it delivers critique, and closes the session when the design meets the goal. Not a request-response tool. A partner.

Crafted by a design veteran, because a taste layer must be built on real human design intuition to teach AI agents how to build beautifully.

fits right in your stack

One endpoint,
three response modes

Agents get terse, actionable diffs. Designers get scores and narrative. Both run against the same eval engine.

Mode “Diff” Actionable Diff
Mode “Score” Score summary
Mode “Profile” Design Profile
roast — eval
eval_output.json

// request { "input": { "type": "url",
"value": "https://acme.com" },
"mode": "diff",
"context": "fintech dashboard" }

// response { "verdict":
"needs_work", "summary":
"Solid layout but lacks trust cues
expected in fintech",
"fixes": [ { "element":
"hero CTA", "issue": "low
contrast on #fff bg", "fix":
"use #111 for 7:1 ratio",
"severity": "critical" },
{ "element": "overall
palette", "issue": "reads as
consumer SaaS, not fintech",
"fix": "add data-density,
cert logomarks, security cues",
"severity": "moderate" } ],
"reference": { "brand":
"Stripe", "similarity":
0.74 } }
ROAST.A.URL
Enter any live URL to run a real-time aesthetic evaluation. Also accepts images, and Figma frames.
  • Critique fluency
  • Typography
  • Colour
  • Spacing
  • Components
  • Affordance
  • Gestalt
  • Layout
  • Composition

INDEXED.AGAINST.
PERFECTION.

50,000+ validated UI patterns from the world's most precise interfaces. Every pixel a reference point.

REAL.CREATIVE
EXPERTISE.

Built by practicing creative professionals with real market experience. Every evaluation is grounded in proven design principles, not subjective opinion.

STRUCTURED.
DESIGN.CORPUS.

Powered by a structured corpus of 50,000+ DESIGN.md files and 400k+ design assets, giving Roast the context to evaluate designs with consistency and evidence.

WHAT.GETS.
ROASTED.

Roast evaluates every design across six core dimensions: typography, color, spacing, components, layout, and composition, delivering consistent, explainable feedback.

NATIVE.TO.YOUR.AGENT.

One JSON block. Roast connects to Cursor, Claude Code, Windsurf, Opencode – any MCP client. Start a design session, iterate across versions, and close when the goal is met. Proactive mode built in.

  • roast_start_session Start a design review session. Collects the brief, captures v1, evaluates against goals, and returns critique.
  • roast_iterate Continue a session with a new iteration. Evaluates delta against history, tracks what persisted and what resolved.
  • roast_close_session Close a session. Returns final report with score progression, agent response pattern, and goal achievement.

WARNING!!!

Roast is not a
“taste” package…

I know there are lots of taste packages and I get it if you mistake
roast to be one of those. But, roast is not one.
Roast is a design agent that works alongside your dev/design agents to make sure that whatever is built/designed
is up to par. It makes sure that everything your agent ships is visually solid and clearly usable.
Your agent doesn’t need to call roast to clean up after it’s made a mess.
roast works alongside your agent
to prevent the mess from happening in the first place.
Think of it as a design lead who has and is being trained on a regular on what good design is.

How does roast get trained
and what is it trained on?

Roast is trained on two things. Existing designs, systems, and product interface. And it's trained on the mistakes, miscalculations, assumptions, and errors from our previous judgements designing and building products.

Roast was built from the ground up by designers
who’ve spent the last decade creating some of
your favorite products. The same attention to
detail that shaped those experiences is what
powers Roast. Possibly better.

Damn you're curious... I don't blame you. Aren't we all?