← Library

Essay

Morphing Icons with Claude

Benji Taylor

Pushing Claude Code’s animation abilities to build a universal icon primitive.

MotionComponents

Summary

Benji wanted icons that transform into one another rather than crossfade, the way a hamburger rotates into a close button. His first ask produced exactly what you would expect, an AnimatePresence wrapper fading one SVG out and another in. The fix was a constraint rather than a better prompt. Every icon has to be exactly three SVG lines, with unused lines collapsed to invisible points, which means any icon shares a structure with every other and can morph into it. Twenty-one icons came out of a single session, and some of them took real creativity to fit the rule.

View full writing
Read the full essay on benji.org
Source ↗Benji Taylor ↗

Goes well with

  • emil-design-eng

    The design-engineering house style behind Sonner and Vaul.

    Emil KowalskiMotionCraft

    Emil's main skill. Mostly animation, with the UI-polish and component judgement that surrounds it: what to build, how far to push it, and when to stop.

    npx skills add https://github.com/emilkowalski/skills

  • animate

    Builds an animation from scratch, decisions in the order that matters.

    Emil KowalskiMotion

    Should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Then writes the implementation.

    npx skills add https://github.com/emilkowalski/skills --skill animate

  • review-animations

    Reviews your motion strictly, against Emil's rules.

    Emil KowalskiMotionReview

    A production-critical pass over animation quality, timing and consistency in a diff. Pairs with improve-animations, which does the same for a whole codebase.

    npx skills add https://github.com/emilkowalski/skills --skill review-animations

Work with us