The Split
Claude Sonnet crushes complex algorithms. Refactors thousand-line codebases. Writes flawless TypeScript with edge cases you didn't consider.
Then you ask it to "make this button look better."
Twelve iterations later, it's still off-center with Comic Sans vibes.
Logic Is Easier To Corner
You: "Refactor this auth flow with edge case handling"
Claude: *produces perfect implementation in 10 seconds*
You: "Holy shit."
Terminator genius level. Sees patterns instantly. Handles complexity humans miss.
The reason is simple: logic is exact, right or wrong is provable, tests pass or fail, no aesthetic judgment needed. AI crushes technical precision.
Interfaces Need More Than Taste Words
You: "Make this look better"
Claude: *moves padding 2px, changes color to #F5F5F5*
You: "No, like... good"
Claude: *adds drop shadow, border radius 4px*
You: "..."
Not the AI's fault. Your prompt is shit.
UI goes wrong for obvious reasons: "Better" is meaningless. "Good" is subjective. "Modern" could mean anything. "Clean" describes nothing.
Vague prompts = vague results.
What Changes
The weak technical prompt — "Implement JWT refresh token flow with Redis caching, handle token expiration, add rate limiting per IP" — is actually specific and testable. AI crushes it.
The weak UI prompt — "Make this modern and clean" — is meaningless and untestable. AI guesses.
The working UI prompt: "Mobile-first flexbox, 16px base padding, typography scale 1.25, monospace headers, brutalist spacing, high contrast blacks/whites, no gradients, sharp corners." Exact. AI crushes it.
What Specificity Actually Looks Like
"Make the header look professional" produces whatever the model decides professional means today. "Header: 100vh height, centered flex column, H1 72px bold, monospace font, 24px margin-bottom, black text on white, no decoration" produces what you want.
"This feels off, fix it" produces guesswork. "Increase line-height to 1.6, reduce letter-spacing to -0.02em, align-items center not flex-start" produces results.
"Make it look like Stripe's site" produces a vague approximation. "Stripe style: sans-serif 16px base, 1.5 line-height, 48px vertical rhythm, subtle gray borders #E6E6E6, 8px border-radius, ample white space" extracts the specifics and gets you there.
Mobile First Means Saying The Layout Out Loud
"Make it responsive" doesn't work.
"Mobile first: 100% width, stack vertical, 16px padding, 1 column. Tablet: 2 column grid at 768px. Desktop: max-width 1200px, 3 columns at 1024px" — exact breakpoints, exact behavior, AI executes perfectly.
Typography Is Usually Where The Prompt Starts Lying
"Better fonts" gets you nothing. "System font stack: -apple-system, BlinkMacSystemFont, Segoe UI. Headers: 700 weight, 1.2 line-height, -0.02em tracking. Body: 400 weight, 1.6 line-height, 16px base" gets you what you're picturing.
Claude knows fonts. You need to know what you want.
Color Is Where Vague Taste Goes To Die
"Use nicer colors" fails. "Brutalist palette: Pure black #000000 text, pure white #FFFFFF background, accent red #FF0000 for CTAs, gray #808080 for disabled states. No gradients. No opacity. Hard edges." — exact hex codes, exact usage, no aesthetic interpretation needed.