Git, Claude Code, and why a designer should care
The mental model, the tooling, the first session.
Generating design variations — the TJUG case study
One countdown card, 14 variations, real feedback loops.
From 14 variants to a shipped component
Narrowing down, wiring the winner into production.
The Tampa Java User Group’s website has a countdown card above the fold. It was fine. “Fine” is where good design goes to die. We asked Claude Code to do something about it — not once, but across three rounds of feedback, on a real production branch. What follows is the whole loop, with the prompts in plain English and the results in screenshots.
What to look for as you read
Round 1 — the first ask
The starting brief was intentionally loose. This is how designers talk to each other, and Claude Code handles it the same way any thoughtful collaborator would — it makes choices where you did not constrain it, and shows you the result.
Round 1 · initial brief
1. Branched off main into feature/countdown-card-variants.
2. Created a preview route at /preview/countdown with a sticky filter bar.
3. Built five distinct variants: Glass Split, Poster Billboard, Ticket Stub, Editorial Magazine, Minimal SaaS.
4. Wired live Meetup data so the cards tick in real time.
5. Pushed the branch and reported the preview URL.
Thirty minutes from prompt to five rendered variants on a private URL. That part worked. Now the uncomfortable part — four of the five had the same bug, and the designer spotted it immediately.
The crop bug — what it looked like
Meetup serves event posters at roughly 1:1. Claude assumed 16:9, or portrait, or just picked aspect ratios variant-by-variant based on the layout shape. The result: the top and bottom of every poster got clipped. The TAMPA JUG logo and the speaker name were invisible on most cards.

Round 2 · direct feedback
The feedback was perfect, actually
Claude’s read was almost correct. It identified that it had used aggressive cropping (object-cover) on 1:1 containers, switched to containing the image (object-contain) with a blurred backdrop copy to fill any letterbox, and applied the fix to all five variants in one pass. Then it reworked the visual direction on each, because the feedback was also about taste.
Round 2 — five better variants
The second pass was a rework, not a touch-up. Claude threw away the first five and replaced them with directions it described as “genuinely different UX territories”: Luma-clean, Ambient Hero, Console Dashboard, Magazine, Glass Widget. The crop fix was universal. The first real keeper appeared:

Designer reviews
Spots the crop bug in screenshots.
Feedback sent
"Not great, poster is cut off."
Claude reworks
Universal crop fix + five new directions.
Designer reviews again
Five better options, ready to iterate on.
Roundtrip time: ~25 minutes. In a Figma-only workflow the same rework is a full afternoon.
Round 3 — scaling to fifteen, on brand
Five variants is enough for a gut-check. Fifteen is enough to surface directions nobody asked for — the ones that surprise everyone and sometimes turn out to be the right answer. The next brief added a constraint the first round had been missing: stay on brand.
Round 3 · scale-up brief
Spawning a codebase explorer to audit the home page for the actual palette.
Found: #1E45D3 (primary blue), #1E59EB (deeper blue), #0A1531 (navy), #25292E (text), #676767 (body), #CDD4E6 (border), #F5F7FA (alt background).
Also found: signature radial-gradient that defines the site’s hero card.
Generating ten new variants now, strictly to these tokens.
Notice the diagnostic step
Two of the new variants in particular showed what brand-consistent variety can look like — one leaning into the signature radial gradient, another into a dramatic neon treatment that stays within the palette:



Round 4 — the detail pass
With fifteen variants on the table, the feedback shifts from vibe to detail. Some variants still had crop issues (Claude had applied the fix to some, not all). One was off-brand despite the brand audit. One was an idea that sounded clever but felt redundant next to the others.
Round 4 · specific fixes
Three-word feedback is a superpower
V2 Ambient Hero
Before
Poster anchored at ~400px max-width, felt small in a big dark card.
After
Grew to 560/640/720px across breakpoints. Now anchors the hero as intended.
V8 Announcement Strip
Before
Poster thumbnail still used the aggressive cropping.
After
Contain + blurred backdrop at 64px — no clipping even at strip-scale.
V13 Calendar Tile
Before
Felt redundant next to the other date-forward variants.
After
Removed. Blueprint became V13, Notification became V14.
The picking moment — V8 wins (surprise)
Here is the counter-intuitive part. The five most visually ambitious variants — Neon, Ambient Hero, Split Gradient, Glass Widget, Magazine — were beautiful, but beautiful is not always the answer. What the site actually needed was a low-friction prompt above the top nav that tells returning visitors about the next meetup and lets them dismiss it. That is V8.

Round 5 · the next step
This is the moment the exercise stopped being exploration and started being production. Claude re-scoped the task automatically — made the root layout async so the server could check for an upcoming event, created a new EventAnnouncementBanner client component that hydrates from SSR and re-checks via the API, wrapped the banner and the header in a shared sticky container, and swapped overflow-x-hidden for overflow-x-clip because the old value silently breaks position: sticky inside it. That last detail is the kind of thing a junior developer misses. Claude did not.

The session, by the numbers
0
Variants generated
Across three rounds, all on brand.
~0 hrs
Total designer time
Including breaks, snapshots, and writing up.
0
Prompts sent
Plus three short "fix this" corrections.
0
Component shipped
V8, now live above the TJUG nav.
Compare to a Figma-only exploration
Five prompt patterns that earned their keep
If you replay the session from the outside, the prompts that moved things forward fall into five patterns. Copy and adapt — these are the shapes we now reach for by default.
The open-ended ask
When to use: You want five to ten directions without pre-constraining taste.
The vibe + defect
When to use: First-pass feedback where something is off and you also spotted a concrete bug.
The brand guard
When to use: Scaling up a batch and you want to lock palette drift.
The three-word fix
When to use: Late-round cleanup where you know exactly what is broken.
The production handoff
When to use: Exploration is done; it is time to wire the winner into the real site.
More copy-ready prompts on the cheat sheet
Next up
Part 3 — From 14 variants to a shipped component
Picking a winner, wiring it into production, and the pull-request discipline that makes AI-generated work safe to merge. Includes the PR review checklist we run before anything ships.