Start with the Static Vector Art
Start from the approved static SVG and inspect viewBox, paths, groups, masks, colors, and target render sizes. Keep the original immutable and create a sandbox that can show old and new versions side by side.
Rebuild a missing logo microinteraction from an owned SVG and reference animation by measuring timing and geometry, implementing accessible SVG motion, and comparing the result frame by frame across product contexts before replacing the old asset.


Source episode · 11:23
How I AI: Atlassian's Joel Unger on Prototyping UI, Animating Logos, and Illustrating Puppieswith Claire Vo
Facing a code freeze and a missing animation source file, Joel gives Cursor the new static SVG and the existing GIF, asks it to recreate the clipping mask and bar motion, measures the original duration, and iterates by a few pixels until the new animated SVG matches the required logo behavior.
A compact animated SVG component that preserves the approved logo geometry and timing, responds correctly on load and hover, honors reduced motion, and can replace the old asset without layout, accessibility, or performance regressions.
AI-first code editor
Step by step
Follow the sequence once, then adapt the prompts, checks, and handoffs to your own setup.
5 steps
Start from the approved static SVG and inspect viewBox, paths, groups, masks, colors, and target render sizes. Keep the original immutable and create a sandbox that can show old and new versions side by side.
Give Cursor the SVG and reference GIF or recording. Describe the moving elements, trigger, direction, loop, end state, and masking relationship before it writes animation code.
Using this owned SVG and reference animation, recreate only the [moving elements]. Preserve all approved paths, viewBox, colors, and dimensions. Implement [load or hover] trigger, [loop behavior], clipping or mask relationship, and a stable end state. Add prefers reduced motion support and do not add scripts or external assets unless required.
Measure the source duration and key moments with an animation inspector. Store duration, delays, phase offsets, distances, and easing as named variables, then compare captured frames at the same timestamps.
The animation timing needs to be more precise. I analyzed the original, and its full duration is [1200] milliseconds. Please adjust the animation to match this.
Iterate with exact observations such as element, timestamp, axis, and pixel difference. Change one parameter at a time and rerun the visual comparison rather than accumulating broad prompt edits.
Integrate the component in the real product path and test page load, hover, keyboard focus if relevant, touch, reduced motion, supported browsers, target sizes, CSP, build, and performance. Preserve a quick rollback to the prior asset.
Turn an idea into a PRD, user stories, and a plan.
After the steps
How to recover when the loop fails and where human judgment helps.
Recover
Keep building

Create context-aware guardrails for your enterprise AI agent using a 'Project' governance layer. As a project owner, define rules, scope tools, and require human-in-the-loop approval for sensitive actions, ensuring safe and effective AI use.

Transform a successful AI chat session into a reusable skill that anyone in your company can use. Package prompts, tools, and code into a standardized workflow, making it easy to share and scale automation across your organization.

Use a natural language AI agent to instantly generate and iterate on custom data dashboards. This workflow queries your company's data securely, allowing non-technical users to perform their own 'last mile' data analysis without filing tickets.
Join 100,000+ product managers who use ChatPRD to write better docs, align teams faster, and build products users love.