UIPrompt

For people who ship UI with Claude Code · Cursor · v0

Design it once.
AI builds it exactly.

UIPrompt is a visual component editor that writes spec-grade prompts with exact values, state diffs, and accessibility rules. The UI your AI builds is the UI you designed.

Full-featured trial · No credit card

Radius
8px
Color
Padding
16px
Motion
150ms ease-out
prompt: updates as you design
You are implementing a UI component in this codebase. Implement the component below as a React component styled with Tailwind CSS. Follow this spec exactly — every value is intentional. Do not substitute your own design taste, do not round values, and do not add visual features the spec does not mention. Where Tailwind has no utility for an exact value, use arbitrary values (e.g. `rounded-[8px]`). Match the project's existing component conventions for file placement and exports.

## Component: Button

### Default state
- Background: #18181B
- Text color: #FAFAFA
- Corner radius: 8px
- Padding: 10px vertical, 16px horizontal
- Border: none
- Font size: 14px (line-height: 1.25)
- Font weight: 500
- Shadow: none
- Transition: background-color 150ms ease-out

## Implementation rules
- **Visible focus ring**: Style keyboard focus with `:focus-visible` (never bare `:focus`): a 2px outline offset 2px from the element, using a high-contrast color. Never remove focus outlines without an equally visible replacement.
- **Respect reduced motion**: Wrap all transitions/animations in `@media (prefers-reduced-motion: no-preference)` or disable them under `prefers-reduced-motion: reduce`. Motion must be an enhancement, never a requirement.
- **Transition only listed properties**: Transition exactly the properties listed in the spec — never `transition: all`. Keep durations as specified; do not add extra animated properties.
- **Minimum hit target**: Ensure the interactive hit target is at least 44×44px. If the visual element is smaller, extend the clickable area with padding or a pseudo-element without changing the visual size.
- **Disabled state**: For the disabled state: set `cursor: not-allowed` on a wrapper (disabled elements don't fire pointer events), reduce opacity to ~50% unless the spec overrides colors explicitly, and suppress all hover/active effects.
- **Font smoothing on dark fills**: When rendering light text on a dark background, apply `-webkit-font-smoothing: antialiased` and `-moz-osx-font-smoothing: grayscale` to avoid overly bold-looking text.
- **Text contrast**: Text must meet WCAG AA contrast (4.5:1 against its background; 3:1 for text ≥18.66px bold). If a specified color pair falls short, keep the spec colors but flag the contrast issue in a code comment.
- **No hover layout shift**: Hover/focus styles must not change the element's layout size. If a border appears on interaction, reserve its space with a transparent border in the default state.

drag anything ↑ and watch the prompt rewrite itself

Adjectives gamble. Specs land.

What most people prompt

"make me a nice modern button, something clean that pops"

Eight visual decisions left to chance. The result looks fine, in someone else's app. Then the correction loop starts.

What UIPrompt writes for you

- Corner radius: 8px
- Transition: background-color 150ms ease-out
- Hover state: background #1D4ED8

Every value pinned. States as diffs. First try lands.

Blind-tested: 11 of 11 CSS properties, identical.

We gave an AI only the generated prompt. It never saw the design. The implementation matched every measured property: colors, radius, padding, shadow, all three transition values. Read the full experiment.

Rules AI always forgets, included when relevant

  • :focus-visible ring
  • prefers-reduced-motion
  • 44px hit target
  • WCAG AA contrast
  • no transition: all
  • no hover layout shift

One plan. Everything in it.

$8 /month billed yearly · or $12 monthly

  • ✓ Unlimited components & tokens
  • ✓ Full prompt export, 3 target tools
  • ✓ Per-state overrides & motion control
  • ✓ All future component types
  • ✓ 14-day money-back guarantee
Start your free trial

Frequently asked

Why prompts instead of exporting code?
Code exports go stale the moment they meet your codebase. A precise prompt lets your AI tool implement the design in your stack, your conventions, your naming, while keeping every visual value exact.
Which AI tools are supported?
Prompts are tuned for Claude Code, Cursor, and v0, and work with any capable coding assistant. You can switch the target tool with one click.
What happens when my trial ends?
Your designs stay safe forever. Nothing is deleted. Prompt export locks until you upgrade ($12/month or $96/year).
Can I get a refund?
Yes. 14-day money-back guarantee, no questions asked.