Documentation
Verdict v0.1. Sibling product to Preflight and Design Check.
Overview
Verdict is a review layer for design work. Each tool takes something you can paste (a description, a screenshot URL, some strings, a brief) and returns a structured review made by a language model working from a fixed method. It does not connect to Figma, Storybook, analytics or research tools; it reviews what you give it.
Findings keep three things apart: what is visible in your material, what the reviewer inferred, and what it could not assess. Treat the output as a second opinion. You decide what to do with it.
REST API
One route per tool. The body is the tool's arguments as JSON.
curl -X POST https://verdict.allthepossibles.com/api/find_assumptions \
-H "content-type: application/json" \
-H "Authorization: Bearer vd_..." \
-d '{"prd_text": "Users want a weekly digest. We will add it to settings."}'
GET /api/tools returns every tool with its description and input schema. Errors come back as {"error": "..."} with a status of 400 (bad input), 401 (inactive key), 429 (rate limit or allowance), 502 (the review model failed) or 503 (free tier closed for the day).
MCP server
{
"mcpServers": {
"verdict": { "url": "https://verdict.allthepossibles.com/mcp" }
}
}
Streamable HTTP, POST /mcp. Send the key as an Authorization: Bearer header to use a paid tier. Input and allowance problems come back as tool results with isError set, so an agent can read them and adjust.
The six tools
| Tool | Input | Output |
|---|---|---|
critique_experience | artifact ({type: description or screenshot_url, value}), optional prd, context | findings (category ux, visual or product; severity critical, warning or note; finding, evidence, suggested_resolution) and a summary |
generate_state_matrix | feature_description, optional known_dimensions | dimensions (name, states) and up to five likely_gaps, each marked stated or inferred |
map_journey | objective, optional user_maturity (first_use, occasional, habitual, expert) | stages, entry_points_missing, exit_paths_missing, interruption_handling |
audit_copy | strings: up to 60 of {text, context: button, error, empty_state, confirmation or notification} | findings (text, issue, fix); strings that work get no entry |
find_assumptions | prd_text | assumptions (assumption, risk low, medium or high, research_question), highest risk first |
check_terminology | sources: two to twelve of {label, text} | concept_clusters (concept, terms_used by source, drift), drifting clusters first |
Text inputs are limited to 30,000 characters per field. Screenshot URLs must be public and use https; the service passes the URL to the model and never fetches it itself.
Limits and allowance
Every call runs a real model request, so every tier has a ceiling on total use as well as on speed.
| Tier | Rate limit | Allowance |
|---|---|---|
| Free, no key | 20 calls a minute | 2 calls a day per caller, plus a small shared daily limit across all free callers that resets at 00:00 UTC. A demo allowance, not a plan. |
| Your own Anthropic key | 20 calls a minute | Unlimited. Send the key in an x-anthropic-key header and the call runs on your account. We never store or log it. |
| Basic, $5 a month | 150 a minute | A monthly allowance that resets on the 1st (UTC) |
| Pro, $19 a month | 500 a minute | Five times Basic's monthly allowance |
The allowance is measured in real model cost, not call count, so a long brief uses more of it than a short string. /usage shows how much of yours is used.
Known limitations
A review is only as good as the material. A description cannot show motion, hover states or real data, and a screenshot cannot show behavior over time; the reviewer is told to say so and not to pretend otherwise. Contrast and size figures read from an image are estimates.
The reviewer is a language model. It can be wrong, and it can miss a problem. Use it to widen what you look at, then verify what matters. find_assumptions never simulates user answers, because imagined participants are not evidence.
Output is validated into the documented shape, but wording varies between calls on the same input.
What happens to your input
Your input is sent to Anthropic's API to produce the review and is not written to Verdict's database. Usage is logged as event counts (which tool, which tier, time, rough cost) with no input text and no tracking cookies. Do not send material you are not allowed to share with a third-party model provider.
Support
Billing, invoices, cancelling: /billing (a form that takes your key). Anything else: support@allthepossibles.com.