<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shayan</title>
    <description>The latest articles on DEV Community by Shayan (@codeideal).</description>
    <link>https://dev.to/codeideal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3259876%2F4dad300e-95c9-4bcc-8ad1-bfe6bf0568a0.jpeg</url>
      <title>DEV Community: Shayan</title>
      <link>https://dev.to/codeideal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codeideal"/>
    <language>en</language>
    <item>
      <title>MotionKit Figma Motion: import, sync, and push native animation (yes, even baked physics)</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sun, 28 Jun 2026 00:19:07 +0000</pubDate>
      <link>https://dev.to/codeideal/motionkit-figma-motion-import-sync-and-push-native-animation-yes-even-baked-physics-40e6</link>
      <guid>https://dev.to/codeideal/motionkit-figma-motion-import-sync-and-push-native-animation-yes-even-baked-physics-40e6</guid>
      <description>&lt;p&gt;Figma shipped native Motion. A real animation timeline, right inside the file.&lt;/p&gt;

&lt;p&gt;When that landed, a lot of people emailed me some version of the same question: &lt;em&gt;"is MotionKit dead now?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Fair question. My honest first reaction was a quiet "...maybe." But the more I used native Motion, the clearer it got — it's genuinely good, and it's &lt;em&gt;not&lt;/em&gt; trying to be everything. No physics. No frame-by-frame. No Lottie export. No morphing. So the move was never to compete with it. The move was to &lt;strong&gt;bridge to it&lt;/strong&gt; — let the two tools hand work back and forth, and let MotionKit be the power layer that does the stuff native Motion can't.&lt;/p&gt;

&lt;p&gt;So that's what this update is. A two-way bridge between MotionKit and Figma's native Motion.&lt;/p&gt;

&lt;p&gt;Here's everything it does, and exactly how to use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;Four moves, one little control in the header:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Import&lt;/strong&gt; native Motion into MotionKit as real, editable keyframes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live sync&lt;/strong&gt; (read-only by default) so changes in Figma Motion flow into MotionKit as you work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link for export&lt;/strong&gt; so your native Motion renders inside a Lottie &lt;em&gt;without&lt;/em&gt; duplicating anything&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Push&lt;/strong&gt; MotionKit keyframes back into native Motion — including motion you baked from the physics engine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the headline trick: &lt;strong&gt;bake a real physics drop in MotionKit, then push it into Figma Motion as native keyframes.&lt;/strong&gt; Native Motion has no physics engine. Now it kind of does.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, find the bridge
&lt;/h2&gt;

&lt;p&gt;Look at the top-right of the toolbar, next to the Pro star. There's a small badge: the &lt;strong&gt;MotionKit diamond, an arrow, and the Figma logo&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That little arrow &lt;em&gt;is&lt;/em&gt; the status. You don't have to open anything to read it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;faint dotted line&lt;/strong&gt; → not connected&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;arrow pointing into MotionKit&lt;/strong&gt; → reading from Figma, live, read-only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;arrows on both ends&lt;/strong&gt; → two-way, MotionKit also writes back&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If there's native Motion sitting on the current frame but you haven't connected, you'll see a small purple dot on the Figma side — that's "hey, there's something here to import." Click the badge to open the bridge.&lt;/p&gt;

&lt;p&gt;That's the whole mental model. Direction of the arrow = direction of the data. I rebuilt this specifically so you never have to remember what some toggle does.&lt;/p&gt;

&lt;h2&gt;
  
  
  Import: pull native Motion in as editable keyframes
&lt;/h2&gt;

&lt;p&gt;This is the one most people want first. You (or a teammate) animated something in Figma Motion, and you want it as proper MotionKit keyframes — to refine the curves, add morphs, export to Lottie, whatever.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;select the animated frame&lt;/li&gt;
&lt;li&gt;open the bridge and hit &lt;strong&gt;Import from Figma Motion&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;pick how conflicts resolve — &lt;strong&gt;Figma wins&lt;/strong&gt; (native overwrites) or &lt;strong&gt;Keep mine&lt;/strong&gt; (native only fills gaps)&lt;/li&gt;
&lt;li&gt;done. you get a little report of what came across, what got an approximated easing, and what was skipped&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It pulls transforms, opacity, size, corner radius, stroke weight, auto-layout spacing, solid fills and strokes, drop and inner shadows, and blur — as real keyframes you can grab and move. Position and scale come in as proper X/Y so you can edit each axis on its own.&lt;/p&gt;

&lt;p&gt;One honest note: once MotionKit owns a transform, MotionKit drives it during preview. That's the trade for editability. If you'd rather native Motion stay in charge of movement, keep reading — &lt;strong&gt;Link&lt;/strong&gt; is for exactly that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Live sync: read-only by default, on purpose
&lt;/h2&gt;

&lt;p&gt;Turn the direction control to &lt;strong&gt;Read&lt;/strong&gt; and MotionKit keeps pulling changes from Figma Motion as you work. Tweak a curve natively, it shows up here.&lt;/p&gt;

&lt;p&gt;The important part: &lt;strong&gt;read-only is the default, and it will never touch your Figma file&lt;/strong&gt; unless you explicitly switch to Two-way. Sync turning on used to scare people because an early version could write back when you didn't expect it. Not anymore — Off, Read, and Two-way are one clear three-way switch, and Read is a one-way street into MotionKit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Link for export: native Motion in your Lottie, zero duplication
&lt;/h2&gt;

&lt;p&gt;This is the cleanest option and honestly the one I'd reach for most.&lt;/p&gt;

&lt;p&gt;When you &lt;strong&gt;Link Figma Motion for export&lt;/strong&gt;, MotionKit &lt;em&gt;references&lt;/em&gt; the native animation instead of copying it. Nothing gets added to your timeline. Nothing moves on the canvas. No duplicate rows, no two engines fighting over the same layer and sending it twice as far as it should go.&lt;/p&gt;

&lt;p&gt;Then when you export to Lottie, MotionKit folds the native Motion in at render time and ships one animation — your MotionKit layers and the native Motion together. Your MotionKit keyframes always win on any property you actually animated; native just fills the rest.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;open the bridge&lt;/li&gt;
&lt;li&gt;hit &lt;strong&gt;Link Figma Motion for export&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;animate the rest in MotionKit like normal&lt;/li&gt;
&lt;li&gt;export to Lottie — the native motion is baked into the file&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you go back and edit the Figma path afterward, just hit Link again to refresh the snapshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fun one: bake physics in MotionKit, push it into Figma Motion
&lt;/h2&gt;

&lt;p&gt;Native Motion can't simulate physics. MotionKit can — and it bakes the result into normal keyframes. So you can author a real physical bounce in MotionKit and then hand those keyframes to native Motion.&lt;/p&gt;

&lt;p&gt;Here's the full loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;drop in the layer you want to throw or bounce&lt;/li&gt;
&lt;li&gt;add a &lt;strong&gt;Physics&lt;/strong&gt; modifier — set gravity, bounce, mass, and mark whatever's the floor or a wall as a collider&lt;/li&gt;
&lt;li&gt;hit &lt;strong&gt;Bake&lt;/strong&gt;. MotionKit runs an actual rigid-body simulation and writes it back as real position/rotation keyframes (re-bake as much as you want — it always replays from the top)&lt;/li&gt;
&lt;li&gt;happy with the drop? open the &lt;strong&gt;Figma Motion bridge&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;expand &lt;strong&gt;Advanced → Push to Figma Motion&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;confirm (back up your file first — every push is backed up and revertable, but still), and the baked bounce now lives as &lt;strong&gt;native Figma Motion keyframes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now the motion is native. It plays with Figma's own Motion engine, lives in the file, and anyone can open it without the plugin. You used MotionKit purely as the physics authoring tool. That's the whole idea of the bridge — each tool doing the part it's best at.&lt;/p&gt;

&lt;p&gt;Push writes the round-trip-safe subset (transforms, opacity, size, color, shadows, blur, and friends), so a tumbling, bouncing object's position and rotation transfer cleanly. Easings without an exact native match get approximated, and the report tells you which.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: nested frames animated in Figma Motion
&lt;/h2&gt;

&lt;p&gt;If a child frame inside your frame is animated natively, MotionKit can pull it in as a previewable &lt;strong&gt;clip&lt;/strong&gt; — so it actually plays inside your timeline, with its own loop mode you control per clip. When MotionKit spots one, you'll get a one-click "import as clips" prompt. Handy for building a scene out of pieces other people animated natively.&lt;/p&gt;

&lt;h2&gt;
  
  
  What survives the trip (the honest table)
&lt;/h2&gt;

&lt;p&gt;Trust matters more than hype, so here's the real list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Round-trips both ways:&lt;/strong&gt; position, scale, rotation, opacity, size, corner radius, stroke weight, auto-layout spacing, solid fill &amp;amp; stroke color, drop &amp;amp; inner shadow, layer &amp;amp; background blur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MotionKit-only (stays here, reported as skipped on push):&lt;/strong&gt; text animation, shape morphing, frame-by-frame, gradient-stop animation, the beta noise/texture/glass effects, and expression-driven properties. These are the things native Motion has no slot for — so MotionKit keeps them, and uses Link-for-export when you need them in a final render.&lt;/p&gt;

&lt;p&gt;No silent data loss. The bridge always hands you a report of what mapped, what got an approximated easing, and what it couldn't translate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one real limitation
&lt;/h2&gt;

&lt;p&gt;Figma's plugin API lets me &lt;em&gt;read&lt;/em&gt; and &lt;em&gt;write&lt;/em&gt; Motion keyframes, but it can't move native Motion's playhead or evaluate it at an arbitrary time. So I can't show you Figma's native render and MotionKit's preview playing in perfect lockstep on the same canvas — that part isn't possible yet.&lt;/p&gt;

&lt;p&gt;That's why Link-for-export is a snapshot you re-link after edits, instead of a live mirror. The day Figma adds a "give me the value at time &lt;em&gt;t&lt;/em&gt;" call, that seam flips to live and most of this gets even better. I've already filed it as the number one thing I want from the Motion API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is going
&lt;/h2&gt;

&lt;p&gt;The direction is simple: &lt;strong&gt;MotionKit as the Pro power layer that sits on top of native Motion.&lt;/strong&gt; Native Motion handles the clean, file-native basics. MotionKit handles physics, frame-by-frame, morphing, expressions, and Lottie — and the bridge moves work between them without you redoing anything.&lt;/p&gt;

&lt;p&gt;And as always — if something feels off or breaks, tell me. Half of every release is just people telling me what annoyed them.&lt;/p&gt;

&lt;p&gt;happy animating.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Figma's New Motion vs MotionKit — timeline is here, but is it enough?</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Fri, 26 Jun 2026 20:52:11 +0000</pubDate>
      <link>https://dev.to/codeideal/figmas-new-motion-vs-motionkit-timeline-is-here-but-is-it-enough-2ici</link>
      <guid>https://dev.to/codeideal/figmas-new-motion-vs-motionkit-timeline-is-here-but-is-it-enough-2ici</guid>
      <description>&lt;p&gt;Figma finally added a real &lt;strong&gt;timeline-based motion system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That changed the game a bit.&lt;/p&gt;

&lt;p&gt;But once you actually use it in real animation workflows… you notice something quickly:&lt;/p&gt;

&lt;p&gt;It’s powerful — but still incomplete.&lt;/p&gt;

&lt;p&gt;That’s where MotionKit still sits in a very different category.&lt;/p&gt;

&lt;p&gt;This isn’t “which is better”.&lt;/p&gt;

&lt;p&gt;It’s more like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;what Figma gives you vs what you actually need once animation gets serious.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What Figma Native Motion actually does now
&lt;/h2&gt;

&lt;p&gt;Figma’s motion system now includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;real timeline editing&lt;/li&gt;
&lt;li&gt;keyframe-based animation&lt;/li&gt;
&lt;li&gt;basic easing control&lt;/li&gt;
&lt;li&gt;physics-like behavior (limited / experimental level depending on setup)&lt;/li&gt;
&lt;li&gt;improved Smart Animate pipeline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So yes — it’s no longer just prototype transitions.&lt;/p&gt;

&lt;p&gt;You can now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;animate objects across time&lt;/li&gt;
&lt;li&gt;scrub animations&lt;/li&gt;
&lt;li&gt;control timing visually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That alone is a big shift.&lt;/p&gt;

&lt;p&gt;But here’s the catch:&lt;/p&gt;

&lt;p&gt;It still focuses on &lt;strong&gt;flat motion inside a single layer context&lt;/strong&gt;, not structured animation systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Figma Motion still falls short
&lt;/h2&gt;

&lt;p&gt;Even with the timeline, a few big gaps remain:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. No real text content animation system
&lt;/h3&gt;

&lt;p&gt;You can animate text transforms, but not true content-level animation logic (like structured text transitions, sequencing, or per-character systems).&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Frame-by-frame (FBF) is still not a real mode
&lt;/h3&gt;

&lt;p&gt;You can fake it with frames, but:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no true FBF workflow&lt;/li&gt;
&lt;li&gt;no synced editing across frames&lt;/li&gt;
&lt;li&gt;no onion-skin style consistency system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You still end up manually managing duplication.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Nested animations are not first-class
&lt;/h3&gt;

&lt;p&gt;Figma doesn’t properly support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nested frame animation trees&lt;/li&gt;
&lt;li&gt;reusable animation blocks inside components&lt;/li&gt;
&lt;li&gt;hierarchical animation timelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything still lives mostly at a flat level.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Physics is not truly baked
&lt;/h3&gt;

&lt;p&gt;Even when physics-like behavior exists:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it’s not fully controllable&lt;/li&gt;
&lt;li&gt;it’s not always exportable as keyframes&lt;/li&gt;
&lt;li&gt;it doesn’t behave like a reusable system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So it’s more “effect” than “simulation pipeline”.&lt;/p&gt;




&lt;h2&gt;
  
  
  What MotionKit actually brings to the table
&lt;/h2&gt;

&lt;p&gt;This is where the gap becomes obvious.&lt;/p&gt;

&lt;p&gt;MotionKit is not trying to compete with Figma’s timeline.&lt;/p&gt;

&lt;p&gt;It’s extending it in the directions where real motion work breaks down.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. True Frame-by-Frame (FBF) system
&lt;/h3&gt;

&lt;p&gt;MotionKit supports proper FBF workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;synced frame structure&lt;/li&gt;
&lt;li&gt;mirror selection across frames&lt;/li&gt;
&lt;li&gt;layer consistency enforcement&lt;/li&gt;
&lt;li&gt;editing one layer across all frames at once&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This turns FBF from “manual duplication” into an actual workflow.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Nested animation support
&lt;/h3&gt;

&lt;p&gt;MotionKit introduces structured animation layers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;animations inside frames&lt;/li&gt;
&lt;li&gt;reusable nested motion blocks&lt;/li&gt;
&lt;li&gt;hierarchy-aware timelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So instead of flat motion, you get:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;animation systems inside animation systems&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3. Physics baked into keyframes
&lt;/h3&gt;

&lt;p&gt;This is a big one.&lt;/p&gt;

&lt;p&gt;Instead of just simulating motion visually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you define physics (gravity, bounce, mass)&lt;/li&gt;
&lt;li&gt;MotionKit simulates it&lt;/li&gt;
&lt;li&gt;then &lt;strong&gt;bakes it into real keyframes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So everything becomes editable afterward.&lt;/p&gt;

&lt;p&gt;No black box.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Full timeline control + modifiers
&lt;/h3&gt;

&lt;p&gt;Beyond keyframes, MotionKit adds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offset modifiers&lt;/li&gt;
&lt;li&gt;Wiggle procedural motion&lt;/li&gt;
&lt;li&gt;curve-level editing&lt;/li&gt;
&lt;li&gt;editable baked simulations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So motion becomes &lt;em&gt;programmable&lt;/em&gt;, not just draggable.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Two-way sync with Figma Motion
&lt;/h3&gt;

&lt;p&gt;This is probably the most important difference.&lt;/p&gt;

&lt;p&gt;MotionKit doesn’t replace Figma Motion — it connects to it.&lt;/p&gt;

&lt;p&gt;You get &lt;strong&gt;bidirectional sync&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Figma Motion → MotionKit import&lt;/li&gt;
&lt;li&gt;MotionKit edits → back into Figma system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prototype quickly in Figma Motion&lt;/li&gt;
&lt;li&gt;refine deeply in MotionKit&lt;/li&gt;
&lt;li&gt;move back and forth without losing structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s the real workflow upgrade.&lt;/p&gt;




&lt;h2&gt;
  
  
  Simple comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Figma Native Motion&lt;/th&gt;
&lt;th&gt;MotionKit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Timeline&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes (advanced)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frame-by-frame&lt;/td&gt;
&lt;td&gt;Limited / manual&lt;/td&gt;
&lt;td&gt;Native system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nested animations&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Physics&lt;/td&gt;
&lt;td&gt;Basic / experimental&lt;/td&gt;
&lt;td&gt;Fully baked keyframes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text content animation&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Structured support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sync with Figma&lt;/td&gt;
&lt;td&gt;Native only&lt;/td&gt;
&lt;td&gt;Two-way sync&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow depth&lt;/td&gt;
&lt;td&gt;Prototype level&lt;/td&gt;
&lt;td&gt;Production level&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  When Figma Motion is enough
&lt;/h2&gt;

&lt;p&gt;Use Figma Motion if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you’re building UI prototypes&lt;/li&gt;
&lt;li&gt;you just need simple transitions&lt;/li&gt;
&lt;li&gt;you don’t care about animation systems&lt;/li&gt;
&lt;li&gt;speed matters more than control&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  When MotionKit becomes necessary
&lt;/h2&gt;

&lt;p&gt;Use MotionKit if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you’re doing real motion design work in Figma&lt;/li&gt;
&lt;li&gt;you need frame-by-frame animation control&lt;/li&gt;
&lt;li&gt;you care about reusable animation systems&lt;/li&gt;
&lt;li&gt;you want physics + keyframes together&lt;/li&gt;
&lt;li&gt;you need structured workflows, not hacks&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The real takeaway
&lt;/h2&gt;

&lt;p&gt;Figma Motion is finally becoming a &lt;strong&gt;real animation layer inside design tools&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But MotionKit exists in a different layer entirely:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;turning Figma into a motion design system, not just a prototyping tool.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That gap is still very real.&lt;/p&gt;

&lt;p&gt;And for anyone doing serious animation work inside Figma — it shows up immediately.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>motion</category>
      <category>motionkit</category>
      <category>figmamotion</category>
    </item>
    <item>
      <title>Figma Motion Feels Like It Was Vibe-Coded</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Thu, 25 Jun 2026 03:11:03 +0000</pubDate>
      <link>https://dev.to/codeideal/figma-motion-feels-like-it-was-vibe-coded-40bl</link>
      <guid>https://dev.to/codeideal/figma-motion-feels-like-it-was-vibe-coded-40bl</guid>
      <description>&lt;p&gt;When Figma announced Motion at Config, I got excited.&lt;/p&gt;

&lt;p&gt;Finally.&lt;/p&gt;

&lt;p&gt;A native animation tool inside Figma.&lt;/p&gt;

&lt;p&gt;No plugins. No weird workflows. No jumping between tools.&lt;/p&gt;

&lt;p&gt;Then I actually used it.&lt;/p&gt;

&lt;p&gt;And honestly... what happened here?&lt;/p&gt;

&lt;h2&gt;
  
  
  It Feels Weirdly Unfinished
&lt;/h2&gt;

&lt;p&gt;This isn't a "beta has bugs" complaint.&lt;/p&gt;

&lt;p&gt;I expect bugs.&lt;/p&gt;

&lt;p&gt;What surprised me was how many basic UX decisions felt wrong.&lt;/p&gt;

&lt;p&gt;The timeline feels awkward.&lt;/p&gt;

&lt;p&gt;Interactions feel inconsistent.&lt;/p&gt;

&lt;p&gt;Simple actions somehow take more clicks than they should.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tpk4ukjt2qr3txu6mqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tpk4ukjt2qr3txu6mqw.png" alt="Figma native Motion Preview" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Is It So Slow?
&lt;/h2&gt;

&lt;p&gt;The biggest problem isn't missing features.&lt;/p&gt;

&lt;p&gt;It's the feeling.&lt;/p&gt;

&lt;p&gt;Everything feels heavy.&lt;/p&gt;

&lt;p&gt;Dragging through the timeline feels heavy.&lt;/p&gt;

&lt;p&gt;Selecting things feels heavy.&lt;/p&gt;

&lt;p&gt;Working on larger files feels heavy.&lt;/p&gt;

&lt;p&gt;It's hard to explain, but the whole experience lacks that polished "Figma feeling" we're used to.&lt;/p&gt;

&lt;p&gt;The best Figma products usually disappear and let you focus on your work.&lt;/p&gt;

&lt;p&gt;Motion constantly reminds you that you're using Motion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Missing Things You'd Expect To Exist
&lt;/h2&gt;

&lt;p&gt;After a few hours I kept running into walls.&lt;/p&gt;

&lt;p&gt;Want to do advanced text animation?&lt;/p&gt;

&lt;p&gt;Good luck.&lt;/p&gt;

&lt;p&gt;Want to animate gradients?&lt;/p&gt;

&lt;p&gt;Limited.&lt;/p&gt;

&lt;p&gt;Want more sophisticated motion workflows?&lt;/p&gt;

&lt;p&gt;You'll hit restrictions quickly.&lt;/p&gt;

&lt;p&gt;Want nested animation systems?&lt;/p&gt;

&lt;p&gt;Not really.&lt;/p&gt;

&lt;p&gt;For a company with Figma's resources, I expected much more from version one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Strange Part
&lt;/h2&gt;

&lt;p&gt;There are already plugins solving many of these problems.&lt;/p&gt;

&lt;p&gt;Whether it's MotionKit, Figmotion, or other animation tools in the ecosystem, users have been doing advanced motion work inside Figma for years.&lt;/p&gt;

&lt;p&gt;So naturally I expected Figma to study what works and build something better.&lt;/p&gt;

&lt;p&gt;Instead it feels like they reinvented the wheel and somehow made it square.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Doesn't Feel Like Figma
&lt;/h2&gt;

&lt;p&gt;This is probably my biggest criticism.&lt;/p&gt;

&lt;p&gt;The best Figma features feel obvious.&lt;/p&gt;

&lt;p&gt;You open them and immediately understand the workflow.&lt;/p&gt;

&lt;p&gt;Motion feels like the opposite.&lt;/p&gt;

&lt;p&gt;It feels like a separate product that got dropped into Figma.&lt;/p&gt;

&lt;p&gt;The UX feels disconnected from the rest of the platform.&lt;/p&gt;

&lt;p&gt;The performance feels off.&lt;/p&gt;

&lt;p&gt;The workflow feels overcomplicated.&lt;/p&gt;

&lt;p&gt;At times it genuinely felt like somebody shipped the first prototype and called it a beta.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I really want Motion to succeed.&lt;/p&gt;

&lt;p&gt;A first-party animation tool inside Figma would be amazing for designers.&lt;/p&gt;

&lt;p&gt;But right now?&lt;/p&gt;

&lt;p&gt;I'm not frustrated because it's missing features.&lt;/p&gt;

&lt;p&gt;I'm frustrated because it doesn't feel finished.&lt;/p&gt;

&lt;p&gt;The whole thing feels surprisingly rough, surprisingly slow, and surprisingly difficult to enjoy.&lt;/p&gt;

&lt;p&gt;Maybe it'll become great in a year.&lt;/p&gt;

&lt;p&gt;Today, it feels less like a polished Figma product and more like a proof of concept that escaped into production.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>ui</category>
      <category>ux</category>
      <category>motion</category>
    </item>
    <item>
      <title>MotionKit Review: The Most Powerful Animation Plugin for Figma?</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Tue, 16 Jun 2026 11:55:24 +0000</pubDate>
      <link>https://dev.to/codeideal/motionkit-review-the-most-powerful-animation-plugin-for-figma-gij</link>
      <guid>https://dev.to/codeideal/motionkit-review-the-most-powerful-animation-plugin-for-figma-gij</guid>
      <description>&lt;p&gt;Figma has become the default design tool for millions of designers, product teams, and developers.&lt;/p&gt;

&lt;p&gt;But when it comes to animation, many designers still leave Figma and jump to tools like After Effects, Jitter, or Rive.&lt;/p&gt;

&lt;p&gt;For years, that workflow felt normal.&lt;/p&gt;

&lt;p&gt;Design in Figma.&lt;/p&gt;

&lt;p&gt;Export assets.&lt;/p&gt;

&lt;p&gt;Import them somewhere else.&lt;/p&gt;

&lt;p&gt;Animate.&lt;/p&gt;

&lt;p&gt;Export again.&lt;/p&gt;

&lt;p&gt;Repeat.&lt;/p&gt;

&lt;p&gt;Recently, I tried MotionKit, and it made me question whether leaving Figma is still necessary for many animation workflows.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Animation in Figma Still Feels Limited
&lt;/h2&gt;

&lt;p&gt;Figma's built-in prototyping tools are great for showing interactions and user flows.&lt;/p&gt;

&lt;p&gt;But the moment you want more advanced motion design, you quickly hit limitations.&lt;/p&gt;

&lt;p&gt;Common challenges include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No professional animation timeline&lt;/li&gt;
&lt;li&gt;Limited control over keyframes&lt;/li&gt;
&lt;li&gt;No frame-by-frame animation workflow&lt;/li&gt;
&lt;li&gt;Limited export options&lt;/li&gt;
&lt;li&gt;Difficult vector morphing workflows&lt;/li&gt;
&lt;li&gt;No dedicated motion design environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, many designers end up maintaining multiple tools just to create animations.&lt;/p&gt;

&lt;p&gt;That adds complexity, cost, and context switching.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is MotionKit?
&lt;/h2&gt;

&lt;p&gt;MotionKit is an animation plugin built specifically for Figma.&lt;/p&gt;

&lt;p&gt;Instead of focusing on a single animation technique, it combines several animation workflows inside one environment.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Allow designers to create professional animations without leaving Figma.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At first glance, that sounds ambitious.&lt;/p&gt;

&lt;p&gt;After spending time with it, I realized that's exactly what makes MotionKit interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Makes MotionKit Different?
&lt;/h2&gt;

&lt;p&gt;Most Figma animation plugins solve one problem.&lt;/p&gt;

&lt;p&gt;MotionKit solves several.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Timeline Animation
&lt;/h3&gt;

&lt;p&gt;For UI animations, onboarding flows, product showcases, and marketing videos, timeline-based animation is often the fastest approach.&lt;/p&gt;

&lt;p&gt;MotionKit includes a dedicated timeline system that feels familiar to anyone who has used professional animation software.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create keyframes&lt;/li&gt;
&lt;li&gt;Control timing&lt;/li&gt;
&lt;li&gt;Adjust easing&lt;/li&gt;
&lt;li&gt;Sequence animations visually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This alone covers a huge percentage of common design animations.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Frame-by-Frame Animation
&lt;/h3&gt;

&lt;p&gt;This is where things get interesting.&lt;/p&gt;

&lt;p&gt;Most Figma animation tools focus exclusively on keyframes.&lt;/p&gt;

&lt;p&gt;MotionKit also supports frame-by-frame animation.&lt;/p&gt;

&lt;p&gt;That means designers can create:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Character animations&lt;/li&gt;
&lt;li&gt;Hand-drawn effects&lt;/li&gt;
&lt;li&gt;Custom illustration motion&lt;/li&gt;
&lt;li&gt;Traditional animation sequences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;without switching to another application.&lt;/p&gt;

&lt;p&gt;Very few Figma animation tools support both approaches.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. SVG Morphing
&lt;/h3&gt;

&lt;p&gt;Morphing is one of those features that instantly makes animations feel more professional.&lt;/p&gt;

&lt;p&gt;Instead of abruptly changing one shape into another, MotionKit can smoothly transition between vector paths.&lt;/p&gt;

&lt;p&gt;This is particularly useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logo animations&lt;/li&gt;
&lt;li&gt;Icon transitions&lt;/li&gt;
&lt;li&gt;Loading states&lt;/li&gt;
&lt;li&gt;Interactive UI effects&lt;/li&gt;
&lt;li&gt;Brand motion systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good morphing can dramatically improve the perceived quality of an animation.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Advanced Text Animation
&lt;/h3&gt;

&lt;p&gt;Text animation is often overlooked.&lt;/p&gt;

&lt;p&gt;Yet it appears everywhere:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Landing pages&lt;/li&gt;
&lt;li&gt;Product videos&lt;/li&gt;
&lt;li&gt;Social media content&lt;/li&gt;
&lt;li&gt;SaaS marketing sites&lt;/li&gt;
&lt;li&gt;App onboarding screens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MotionKit provides animation controls specifically designed for text, making it easier to create engaging typography effects directly inside Figma.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Export Options That Matter
&lt;/h3&gt;

&lt;p&gt;Creating animations is only half the workflow.&lt;/p&gt;

&lt;p&gt;Exporting them is equally important.&lt;/p&gt;

&lt;p&gt;MotionKit supports exporting animations into formats commonly used by modern teams, making it practical for real-world projects instead of just prototypes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters for Product Designers
&lt;/h2&gt;

&lt;p&gt;Most designers are not trying to become motion graphics artists.&lt;/p&gt;

&lt;p&gt;They simply want a fast way to create:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product demos&lt;/li&gt;
&lt;li&gt;Feature showcases&lt;/li&gt;
&lt;li&gt;Landing page animations&lt;/li&gt;
&lt;li&gt;Marketing content&lt;/li&gt;
&lt;li&gt;Interactive prototypes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;without constantly switching tools.&lt;/p&gt;

&lt;p&gt;The fewer tools involved, the faster the workflow becomes.&lt;/p&gt;

&lt;p&gt;That is where MotionKit provides the most value.&lt;/p&gt;




&lt;h2&gt;
  
  
  MotionKit vs Other Figma Animation Tools
&lt;/h2&gt;

&lt;p&gt;Many animation plugins do a great job solving specific problems.&lt;/p&gt;

&lt;p&gt;However, MotionKit stands out because of its breadth.&lt;/p&gt;

&lt;p&gt;Instead of specializing in only timeline animation or only prototyping, it combines multiple animation systems into a single workflow.&lt;/p&gt;

&lt;p&gt;The result feels less like a simple plugin and more like a dedicated animation studio built inside Figma.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who Should Use MotionKit?
&lt;/h2&gt;

&lt;p&gt;MotionKit is especially useful for:&lt;/p&gt;

&lt;h3&gt;
  
  
  Product Designers
&lt;/h3&gt;

&lt;p&gt;Create polished onboarding experiences, micro-interactions, and feature walkthroughs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Marketing Teams
&lt;/h3&gt;

&lt;p&gt;Build promotional animations and product videos directly from existing Figma designs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Startups
&lt;/h3&gt;

&lt;p&gt;Reduce the need for multiple animation tools and simplify workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Systems Teams
&lt;/h3&gt;

&lt;p&gt;Create reusable motion patterns and animated components.&lt;/p&gt;

&lt;h3&gt;
  
  
  Content Creators
&lt;/h3&gt;

&lt;p&gt;Produce engaging visual content without leaving the design environment.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Most animation plugins help Figma do one extra thing.&lt;/p&gt;

&lt;p&gt;MotionKit feels different.&lt;/p&gt;

&lt;p&gt;It expands what Figma is capable of.&lt;/p&gt;

&lt;p&gt;The combination of timeline animation, frame-by-frame animation, SVG morphing, text animation, and export capabilities creates a workflow that simply doesn't exist in most Figma plugins.&lt;/p&gt;

&lt;p&gt;If you've ever searched for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best Figma animation plugin&lt;/li&gt;
&lt;li&gt;How to animate in Figma&lt;/li&gt;
&lt;li&gt;Figma alternative to After Effects&lt;/li&gt;
&lt;li&gt;Motion design in Figma&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MotionKit is worth exploring.&lt;/p&gt;

&lt;p&gt;The future of animation inside Figma may not be about adding one more feature.&lt;/p&gt;

&lt;p&gt;It may be about bringing an entire motion design workflow into the tool designers already use every day.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>design</category>
      <category>animation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Best Figma Motion Design Tools in 2026, [Compared]</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sun, 07 Jun 2026 02:45:01 +0000</pubDate>
      <link>https://dev.to/codeideal/best-figma-motion-design-tools-in-2026-compared-1abg</link>
      <guid>https://dev.to/codeideal/best-figma-motion-design-tools-in-2026-compared-1abg</guid>
      <description>&lt;p&gt;Figma has quietly become a much more serious place for motion work. For a long time, Smart Animate was the main answer. Now, there is a real mix of plugins and workflows that cover everything from quick prototype transitions to proper animation timelines, exports, and banner builds. This article compares the main options without the hype, so you can pick the one that actually fits the job.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzodbf625s5iqye64ltay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzodbf625s5iqye64ltay.png" alt="Best Figma Motion Design Animation Plugin" width="800" height="533"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;If you only need simple screen-to-screen transitions, Figma’s native Smart Animate is enough. If you want a real motion workflow inside Figma, MotionKit and Figmotion are the strongest “stay inside the canvas” options. If you want fast polished motion with templates and collaboration, Jitter is very hard to ignore. If your output is banners, HTML, GIF, or video, Bannerify is the most purpose-built. If your goal is Lottie export and Lottie-based delivery, LottieFiles is the obvious pick. &lt;/p&gt;

&lt;h2&gt;
  
  
  1. Figma Smart Animate
&lt;/h2&gt;

&lt;p&gt;This is the native baseline. Smart Animate looks for matching layers across frames and animates the differences between them. It is built into Figma, available on any plan, and it is still the fastest way to make simple motion without installing anything. The catch is obvious. It is great for prototypes, but it is not a full motion design tool. &lt;/p&gt;

&lt;p&gt;Use it for loading states, simple transitions, toggles, expands, and quick product demos. Skip it when you need timeline control, frame-by-frame work, morphing, or export-focused motion.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. MotionKit
&lt;/h2&gt;

&lt;p&gt;MotionKit is the most complete “motion design inside Figma” tool in this group. Its official docs and site describe a full timeline, keyframes, frame-by-frame animation, vector morphing, text animation, easing presets, recording mode, nested compositing, and direct export to MP4, GIF, PNG sequence, and Lottie JSON. That makes it much closer to a real motion studio than a prototype helper.&lt;/p&gt;

&lt;p&gt;The big reason it stands out is depth. It is not just a neat plugin. It is trying to replace the “design in Figma, then rebuild the motion elsewhere” loop. That matters a lot if your motion work lives inside product design, social clips, explainers, or UI demo assets. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Figmotion
&lt;/h2&gt;

&lt;p&gt;Figmotion is another serious Figma animation plugin. Its site says the free tier includes animation features and export options, including code export and render output such as WEBM, MP4, GIF, and WEBP, with paid tiers adding things like versioning, support, and more advanced properties. &lt;/p&gt;

&lt;p&gt;Figmotion feels strong when you want classic motion control without leaving Figma, and it has been around long enough that a lot of designers already know the workflow. It is not the flashiest option, but it is one of the more established ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Jitter
&lt;/h2&gt;

&lt;p&gt;Jitter is not just a plugin, it is also a collaborative motion design tool with a Figma workflow. Its site positions it as a way to animate Figma designs with an intuitive timeline, presets, text animation, reusable animations, templates, and export to formats like video, GIF, and Lottie. It also leans hard into collaboration and speed. &lt;/p&gt;

&lt;p&gt;This is probably the best option if your top priority is making polished motion quickly, especially when templates and teamwork matter more than staying purely inside Figma.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Bannerify
&lt;/h2&gt;

&lt;p&gt;Bannerify is the banner export specialist. Its docs and product pages describe it as a Figma plugin for animated HTML banners, GIFs, and videos. It is aimed at production-ready ad work and banner workflows, not general motion design. &lt;/p&gt;

&lt;p&gt;That makes it very useful, but also very specific. If you need marketing banners, ad creatives, or HTML-based outputs, it is one of the best tools in the list. If you want general motion design, it is probably too narrow. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. LottieFiles for Figma
&lt;/h2&gt;

&lt;p&gt;LottieFiles for Figma is built around Lottie export and lightweight motion delivery. The official pages describe creating, animating, and exporting Lottie animations from Figma without leaving the app. That makes it strong when your end goal is web or app implementation, not just a pretty preview.&lt;/p&gt;

&lt;p&gt;It is less about being a full motion studio and more about connecting design to a runtime-friendly animation format. If your team already uses Lottie, this one belongs on the shortlist. &lt;/p&gt;

&lt;h2&gt;
  
  
  So, which one is best?
&lt;/h2&gt;

&lt;p&gt;For pure motion design inside Figma, MotionKit is the strongest overall choice in this list because it goes furthest toward a real animation workflow, not just prototyping. For speed and collaboration, Jitter is the easiest recommendation. For simple product motion, Smart Animate still wins on convenience. For banner ads, Bannerify. For Lottie delivery, LottieFiles. That is the honest answer. &lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;What it does best&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Smart Animate&lt;/td&gt;
&lt;td&gt;Quick prototypes&lt;/td&gt;
&lt;td&gt;Native, fast, built in, good for simple transitions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MotionKit&lt;/td&gt;
&lt;td&gt;Full motion inside Figma&lt;/td&gt;
&lt;td&gt;Timeline, frame-by-frame, morphing, text animation, exports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Figmotion&lt;/td&gt;
&lt;td&gt;Classic Figma animation&lt;/td&gt;
&lt;td&gt;Keyframe-style motion and export-focused workflow.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jitter&lt;/td&gt;
&lt;td&gt;Fast polished motion&lt;/td&gt;
&lt;td&gt;Templates, collaboration, easy animation, multiple exports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bannerify&lt;/td&gt;
&lt;td&gt;Banner and ad exports&lt;/td&gt;
&lt;td&gt;Animated HTML banners, GIFs, and video.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LottieFiles&lt;/td&gt;
&lt;td&gt;Lottie workflow&lt;/td&gt;
&lt;td&gt;Create and export Lottie animations from Figma.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Link to each one in Figma
&lt;/h2&gt;

&lt;p&gt;Smart Animate: built into Figma prototypes&lt;br&gt;
MotionKit: &lt;a href="https://www.figma.com/community/plugin/1602896408819057835/motionkit" rel="noopener noreferrer"&gt;https://www.figma.com/community/plugin/1602896408819057835/motionkit&lt;/a&gt;&lt;br&gt;
Figmotion: &lt;a href="https://www.figma.com/community/plugin/733025261168520714/figmotion" rel="noopener noreferrer"&gt;https://www.figma.com/community/plugin/733025261168520714/figmotion&lt;/a&gt;&lt;br&gt;
Jitter: &lt;a href="https://www.figma.com/community/plugin/961270034818256057/jitter-animation-for-figma" rel="noopener noreferrer"&gt;https://www.figma.com/community/plugin/961270034818256057/jitter-animation-for-figma&lt;/a&gt;&lt;br&gt;
Bannerify: &lt;a href="https://www.figma.com/community/plugin/796124491692147799/bannerify-banner-studio" rel="noopener noreferrer"&gt;https://www.figma.com/community/plugin/796124491692147799/bannerify-banner-studio&lt;/a&gt;&lt;br&gt;
LottieFiles: &lt;a href="https://www.figma.com/community/plugin/809860933081065308/lottiefiles" rel="noopener noreferrer"&gt;https://www.figma.com/community/plugin/809860933081065308/lottiefiles&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you think?
&lt;/h2&gt;

&lt;p&gt;I can't select the winner here, you should ( Write inside comments )&lt;br&gt;
But I definitely suggest you try MotionKit ( because it's newer and you  don't usually hear about it ). &lt;/p&gt;

</description>
    </item>
    <item>
      <title>OpenFields can be the new go-to ACF Plugin for WP ( 2026 )</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Wed, 13 May 2026 06:12:14 +0000</pubDate>
      <link>https://dev.to/codeideal/openfields-can-be-the-new-go-to-for-acf-plugin-for-wp-2026--4jl</link>
      <guid>https://dev.to/codeideal/openfields-can-be-the-new-go-to-for-acf-plugin-for-wp-2026--4jl</guid>
      <description>&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Advanced Custom Fields (ACF)&lt;/strong&gt; is great. But the free tier lacks repeaters, and the Pro license costs real money.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenFields&lt;/strong&gt; (GitHub: &lt;code&gt;novincode/openfields&lt;/code&gt;) does everything ACF Pro does, uses the exact same &lt;code&gt;get_field()&lt;/code&gt; API, and is 100% GPL.&lt;/p&gt;

&lt;p&gt;I tested it on a production site. It works. No catch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvl1x4zepldh2tag8sja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvl1x4zepldh2tag8sja.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical compatibility – it’s not a rewrite
&lt;/h2&gt;

&lt;p&gt;OpenFields mirrors the ACF Pro API exactly. These functions work out of the box:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nf"&gt;get_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;the_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;have_rows&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;the_row&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;get_sub_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;get_fields&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;update_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;delete_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;get_field_object&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That means your existing templates keep working. No refactoring.&lt;/p&gt;

&lt;h3&gt;
  
  
  Repeater example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nf"&gt;have_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'team_members'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nf"&gt;have_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'team_members'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;the_row&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="nf"&gt;the_sub_field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="nf"&gt;the_sub_field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'role'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;endwhile&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;endif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same syntax. Same output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Admin interface – React + TypeScript + Vite
&lt;/h2&gt;

&lt;p&gt;Most free alternatives have a jQuery mess. OpenFields doesn’t.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 18&lt;/strong&gt; for the field builder&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; throughout&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vite&lt;/strong&gt; for builds (not Webpack – faster HMR)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; for the UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The drag‑and‑drop builder is responsive, conditional logic renders without full‑page reloads, and the JavaScript payload is small (they split chunks aggressively).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build from source:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm &lt;span class="nb"&gt;install
&lt;/span&gt;pnpm build   &lt;span class="c"&gt;# Vite + TypeScript -&amp;gt; admin/dist/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No encrypted or minified backdoors. Everything is readable.&lt;/p&gt;

&lt;h2&gt;
  
  
  No “Pro” version – actually free
&lt;/h2&gt;

&lt;p&gt;Check the GitHub repo. There is no premium code. No feature flags. No “unlock repeater” prompts.&lt;/p&gt;

&lt;p&gt;All field types are included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text, textarea, number, email, URL&lt;/li&gt;
&lt;li&gt;Select, checkbox, radio, switch&lt;/li&gt;
&lt;li&gt;Date, time, datetime, color picker&lt;/li&gt;
&lt;li&gt;Image, file, gallery&lt;/li&gt;
&lt;li&gt;WYSIWYG&lt;/li&gt;
&lt;li&gt;Post object, taxonomy, user&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeater and group&lt;/strong&gt; (the ones ACF hides behind Pro)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Location rules: post types, page templates, taxonomies, user roles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Running alongside ACF – safe migration
&lt;/h2&gt;

&lt;p&gt;If ACF is active, OpenFields &lt;strong&gt;does not&lt;/strong&gt; load its own &lt;code&gt;get_field()&lt;/code&gt; wrapper. No function collisions.&lt;/p&gt;

&lt;p&gt;Instead, you get prefixed versions that always work:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nf"&gt;cofld_get_field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'field_name'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$post_id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both plugins write to standard &lt;code&gt;wp_postmeta&lt;/code&gt;. You can install OpenFields, test on a staging site, then deactivate ACF. Your data stays.&lt;/p&gt;

&lt;h2&gt;
  
  
  REST API – headless ready
&lt;/h2&gt;

&lt;p&gt;All fields are exposed via WordPress REST API. No extra configuration.&lt;/p&gt;

&lt;p&gt;Fetching a post with custom fields:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /wp-json/wp/v2/posts/{id}?_fields=id,title,acf
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Returns the same meta structure as ACF. If you’re using Next.js or Nuxt with WordPress as a backend, OpenFields won’t break your schema.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance notes (quick)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stores data as &lt;strong&gt;native post meta&lt;/strong&gt; – no custom tables (unless you extend it)&lt;/li&gt;
&lt;li&gt;No admin bloat on the frontend – styles/scripts only load on field group admin screens&lt;/li&gt;
&lt;li&gt;PHP 7.4+ (tested to 8.3)&lt;/li&gt;
&lt;li&gt;WordPress 6.0+ (tested to 6.9.4)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I ran a simple benchmark with 20 repeater rows and 10 fields per row. OpenFields and ACF Pro had identical query times (both use &lt;code&gt;get_post_meta&lt;/code&gt; calls). No surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s missing compared to ACF?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smaller ecosystem&lt;/strong&gt; – fewer third‑party addons&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Less community content&lt;/strong&gt; – you won’t find 5,000 YouTube tutorials (yet)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No official support&lt;/strong&gt; – just GitHub issues and the WordPress.org forum&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But if you’re a developer who reads docs, that’s fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you switch?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;New project:&lt;/strong&gt; Yes. Start with OpenFields. Don’t pay for a license you don’t need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Existing ACF site:&lt;/strong&gt; Test on staging. The drop‑in compatibility is real. I’d wait a few months for edge cases, but it’s already stable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/novincode/openfields" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wordpress.org/plugins/codeideal-open-fields/" rel="noopener noreferrer"&gt;WordPress plugin page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openfields.codeideal.com/docs" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>wordpress</category>
      <category>php</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Built a Free ACF Alternative (Wordpress Custom Fields 2026)</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Thu, 30 Apr 2026 05:10:07 +0000</pubDate>
      <link>https://dev.to/codeideal/i-built-a-free-acf-alternative-because-open-source-should-stay-free-5bkh</link>
      <guid>https://dev.to/codeideal/i-built-a-free-acf-alternative-because-open-source-should-stay-free-5bkh</guid>
      <description>&lt;p&gt;You know that moment when you’re building a WordPress site and think, “Man, I really don’t want to pay for another premium plugin”?&lt;/p&gt;

&lt;p&gt;Yeah, me too.&lt;/p&gt;

&lt;p&gt;So I built OpenFields.&lt;/p&gt;

&lt;p&gt;It’s a 100% free, open-source custom fields plugin for WordPress. Think of it like ACF — but without the premium tiers, locked features, or vendor lock-in.&lt;/p&gt;

&lt;p&gt;And honestly? It’s been way more fun than I expected.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Why I Made This (The Long Version)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Custom fields are basically essential for WordPress development. But if you want repeaters, conditional logic, or anything beyond the basics, you’re looking at ACF’s pricing model. Nothing wrong with ACF — their product is solid. But I wanted something that:&lt;/p&gt;

&lt;p&gt;✅ Is actually 100% free (no premium tiers hiding behind paywalls)&lt;br&gt;&lt;br&gt;
✅ Is open source (you own your tools, not the other way around)&lt;br&gt;&lt;br&gt;
✅ Uses a familiar API so you don’t have to relearn everything&lt;br&gt;&lt;br&gt;
✅ Actually feels modern to build with  &lt;/p&gt;

&lt;p&gt;So yeah. I decided to build it myself.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;So What Is OpenFields?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s a custom fields plugin that lets you add fields to posts, pages, custom post types, taxonomies, and users. The admin interface is built with React and TypeScript — fast, responsive, and actually pleasant to use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Visual Builder&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Drag and drop fieldsets together. No code needed. Add fields, organize them, set rules — all in a clean UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All the Field Types (Yes, Including Repeater)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Text, textarea, number, email, URL, WYSIWYG, image, gallery, file, select, radio, checkbox, switch, date picker, datetime, time, color picker, link, post object, taxonomy, user, repeater, group. Everything you actually need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conditional Logic That Works&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Show or hide fields based on other field values. Set it up in the UI, it just works. No “I configured this but it’s acting weird” nonsense.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Location Rules&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Display your fieldsets exactly where you need them — specific post types, user roles, taxonomies, you name it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx52mmgxpsasd0rl57l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx52mmgxpsasd0rl57l8.png" alt="Openfields by codeideal plugin features"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;The API (Yes, It’s Familiar)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’ve used ACF, you already know how to use OpenFields. Same functions, same logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For repeaters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;have_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;team_members&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;have_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;team_members&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
        &lt;span class="nf"&gt;the_row&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nf"&gt;get_sub_field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  
    &lt;span class="p"&gt;}&lt;/span&gt;  
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No learning curve. Just works.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Getting Started (Right Now)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download from GitHub Releases or search “Codeideal Open Fields” on WordPress.org
&lt;/li&gt;
&lt;li&gt;Upload to WordPress (Plugins → Add New → Upload)
&lt;/li&gt;
&lt;li&gt;Activate and go to OpenFields in your admin menu
&lt;/li&gt;
&lt;li&gt;Build your first fieldset&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seriously, you’ll be up and running in like 5 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important links:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub repo: &lt;a href="https://github.com/novincode/openfields" rel="noopener noreferrer"&gt;github.com/novincode/openfields&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Report issues: &lt;a href="https://github.com/novincode/openfields/issues" rel="noopener noreferrer"&gt;github.com/novincode/openfields/issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://openfields.codeideal.com/docs" rel="noopener noreferrer"&gt;openfields.codeideal.com/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;A Real Talk About Community Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s the thing.&lt;/p&gt;

&lt;p&gt;Building and maintaining a free, open-source plugin takes time. A LOT of time. And I genuinely love working on OpenFields — there’s so much more I want to build, new features, better UX, more field types.&lt;/p&gt;

&lt;p&gt;But tools like this only survive with community support. If everyone just uses it and nobody helps, it eventually falls behind. No updates, no fixes, no new features. And that would honestly suck.&lt;/p&gt;

&lt;p&gt;So if OpenFields has helped you save time or money, please consider:&lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;Starring the repo on GitHub&lt;/strong&gt; — it literally helps more people discover it&lt;br&gt;&lt;br&gt;
☕ &lt;strong&gt;Sponsoring the project&lt;/strong&gt; — even a small amount helps me dedicate more time to development&lt;br&gt;&lt;br&gt;
💬 &lt;strong&gt;Reporting bugs or suggesting features&lt;/strong&gt; — every issue helps me make it better&lt;/p&gt;

&lt;p&gt;GitHub Sponsors: &lt;a href="https://github.com/sponsors/novincode" rel="noopener noreferrer"&gt;github.com/sponsors/novincode&lt;/a&gt;&lt;br&gt;&lt;br&gt;
(The “sponsor” link is right there on the repo page)&lt;/p&gt;

&lt;p&gt;I really mean it — every bit of support makes a difference. The WordPress community is better when we build things together.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Join In&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is an open source project. If you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find bugs → report them
&lt;/li&gt;
&lt;li&gt;Have ideas → share them
&lt;/li&gt;
&lt;li&gt;Want to contribute → pull requests welcome&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The WordPress community is better when we build things together.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Quick Links&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/novincode/openfields" rel="noopener noreferrer"&gt;github.com/novincode/openfields&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Report issues: &lt;a href="https://github.com/novincode/openfields/issues" rel="noopener noreferrer"&gt;github.com/novincode/openfields/issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;WordPress.org: &lt;a href="https://wordpress.org/plugins/codeideal-open-fields/" rel="noopener noreferrer"&gt;wordpress.org/plugins/codeideal-open-fields&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://openfields.codeideal.com/docs" rel="noopener noreferrer"&gt;openfields.codeideal.com/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it. OpenFields is free, open source, and ready to use. No credit card required, no lock-in, no nonsense.&lt;/p&gt;

&lt;p&gt;Give it a shot. I think you’ll like it.&lt;/p&gt;

&lt;p&gt;For those who want to support this mission:&lt;br&gt;&lt;br&gt;
⭐ &lt;a href="https://github.com/novincode/openfields" rel="noopener noreferrer"&gt;Star on GitHub&lt;/a&gt; | ☕ &lt;a href="https://github.com/sponsors/novincode" rel="noopener noreferrer"&gt;Sponsor on GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>wordpress</category>
      <category>acf</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Auto Lip Sync inside Blender 5 ( 2026 ) for 3D &amp; 2D</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Thu, 30 Apr 2026 04:55:15 +0000</pubDate>
      <link>https://dev.to/codeideal/auto-lip-sync-inside-blender-5-2026-for-3d-2d-287g</link>
      <guid>https://dev.to/codeideal/auto-lip-sync-inside-blender-5-2026-for-3d-2d-287g</guid>
      <description>&lt;h2&gt;
  
  
  Automate Lip Sync in Blender (2D &amp;amp; 3D) with LipKit
&lt;/h2&gt;

&lt;p&gt;Lip syncing animated characters by hand is tedious. You listen to a few milliseconds of audio, pause, insert a keyframe for the mouth shape, move forward, repeat. For a 30-second dialogue, that’s hundreds of clicks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LipKit&lt;/strong&gt; solves this. It’s a Blender add‑on that analyzes your audio and automatically generates lip sync keyframes – for &lt;strong&gt;both 2D (Grease Pencil)&lt;/strong&gt; and &lt;strong&gt;3D (shape keys)&lt;/strong&gt; characters.&lt;/p&gt;

&lt;p&gt;Under the hood, it uses the powerful &lt;strong&gt;Rhubarb&lt;/strong&gt; phoneme engine. You don’t need to install anything extra.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why LipKit?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use audio from the &lt;strong&gt;Video Sequence Editor&lt;/strong&gt; or external &lt;strong&gt;WAV files&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Works with &lt;strong&gt;multiple characters&lt;/strong&gt; in the same scene&lt;/li&gt;
&lt;li&gt;Generates a &lt;strong&gt;controller object&lt;/strong&gt; for easy tweaking (shape key values or Grease Pencil layer opacity)&lt;/li&gt;
&lt;li&gt;Fully mappable – link any phoneme to any mouth shape&lt;/li&gt;
&lt;li&gt;Clean, non‑destructive workflow: one click to remove all generated keyframes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works (The 30‑Second Version)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Activate the add‑on – you’ll see a &lt;strong&gt;LipKit&lt;/strong&gt; tab in the 3D Viewport N‑panel.&lt;/li&gt;
&lt;li&gt;Select your audio (WAV file or a strip in the VSE).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Analyze&lt;/strong&gt; – LipKit runs Rhubarb to detect phonemes.&lt;/li&gt;
&lt;li&gt;Choose your target:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3D&lt;/strong&gt; – map your shape keys (A, B, C, D, E, F, G, H, X)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2D&lt;/strong&gt; – each mouth shape on a separate Grease Pencil layer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create Controller&lt;/strong&gt;, then &lt;strong&gt;Generate Lip Sync&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s it. Your character starts talking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mapping Phonemes to Mouth Shapes
&lt;/h2&gt;

&lt;p&gt;Rhubarb uses 9 standard visemes (mouth positions). You don’t have to use all of them, but the more you map, the better the result.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Viseme&lt;/th&gt;
&lt;th&gt;Typical sounds&lt;/th&gt;
&lt;th&gt;Mouth shape&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;(rest / closed)&lt;/td&gt;
&lt;td&gt;Neutral / closed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;"P", "B", "M"&lt;/td&gt;
&lt;td&gt;Closed lips&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;"F", "V"&lt;/td&gt;
&lt;td&gt;Lower lip to upper teeth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;"TH", "DH"&lt;/td&gt;
&lt;td&gt;Tongue between teeth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;"EH", "AE"&lt;/td&gt;
&lt;td&gt;Open, wide mouth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;"AH", "AA", "AW"&lt;/td&gt;
&lt;td&gt;Open, jaw dropped&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;"AO", "OW", "OY"&lt;/td&gt;
&lt;td&gt;Round, open mouth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H&lt;/td&gt;
&lt;td&gt;"W", "UW", "ER"&lt;/td&gt;
&lt;td&gt;Pursed lips&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;X&lt;/td&gt;
&lt;td&gt;(rest / pause)&lt;/td&gt;
&lt;td&gt;Any neutral shape&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In LipKit’s interface, you simply select the target shape key or Grease Pencil layer for each of these nine sounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example: 3D Character Setup
&lt;/h2&gt;

&lt;p&gt;Let’s say you have Suzanne with 8 shape keys named &lt;code&gt;mouth_A&lt;/code&gt;, &lt;code&gt;mouth_B&lt;/code&gt;, … &lt;code&gt;mouth_H&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
You open the LipKit panel, go to &lt;strong&gt;Select Target for Each Sound&lt;/strong&gt;, and assign:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;mouth_A&lt;/code&gt; → Phoneme A&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mouth_B&lt;/code&gt; → Phoneme B&lt;/li&gt;
&lt;li&gt;… and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LipKit then generates keyframes on the controller object. You can later adjust the &lt;strong&gt;weight&lt;/strong&gt; of any shape key if a pose looks too extreme.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example: 2D Grease Pencil Character
&lt;/h2&gt;

&lt;p&gt;For a 2D cutout style, create a Grease Pencil object with layers: &lt;code&gt;viseme_A&lt;/code&gt;, &lt;code&gt;viseme_B&lt;/code&gt;, … &lt;code&gt;viseme_H&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
Map each layer to the corresponding phoneme. During generation, LipKit animates the &lt;strong&gt;opacity&lt;/strong&gt; of those layers (1.0 = visible, 0.0 = hidden).&lt;/p&gt;

&lt;h2&gt;
  
  
  Multi‑Character Workflow
&lt;/h2&gt;

&lt;p&gt;Need two characters talking to each other?&lt;br&gt;&lt;br&gt;
Create a &lt;strong&gt;separate controller&lt;/strong&gt; for each character. Assign different audio sources (or the same audio, split by timing). Generate each independently. LipKit keeps everything organized – no keyframe clash.&lt;/p&gt;

&lt;h2&gt;
  
  
  Removing or Tweaking Lip Sync
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clear Controller&lt;/strong&gt; – removes all LipKit‑generated keyframes from the selected controller.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manual tweaking&lt;/strong&gt; – the controller object’s keyframes are regular Blender keyframes. You can move, scale, or edit them directly in the Dope Sheet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interpolation is set to &lt;strong&gt;Linear&lt;/strong&gt; by default, but you can change it to Bezier or Constant after generation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try LipKit
&lt;/h2&gt;

&lt;p&gt;You can get LipKit on Gumroad:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://codeideal.gumroad.com/l/lipkit" rel="noopener noreferrer"&gt;LipKit on Gumroad&lt;/a&gt;&lt;/strong&gt; 👈&lt;/p&gt;

</description>
      <category>blender</category>
      <category>lipsync</category>
    </item>
    <item>
      <title>MotionKit just got better! The goto animation tool in 2026</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Fri, 20 Feb 2026 12:33:24 +0000</pubDate>
      <link>https://dev.to/codeideal/motionkit-just-got-better-the-goto-animation-tool-in-2026-4m86</link>
      <guid>https://dev.to/codeideal/motionkit-just-got-better-the-goto-animation-tool-in-2026-4m86</guid>
      <description>&lt;p&gt;MotionKit is great, not just because of its great features,&lt;br&gt;
Also because it's generously 100% free, allows you to render &amp;amp; export any animation to Mp4/Gif/Png &amp;amp; even lottie. No hidden paywalls! This makes the whole motion design process FREE and even brings non-figma users into Figma, because Figma is also mostly Free and you can even create social media or product videos using MotionKit without spending a penny!&lt;/p&gt;

&lt;h2&gt;
  
  
  Previously it already had great features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Timeline with strong record, allowing to animiate and interpolate everything inside figma.&lt;/li&gt;
&lt;li&gt;Frame By Frame animation with Onion Skinning &lt;/li&gt;
&lt;li&gt;Nested Animations via nested artboards&lt;/li&gt;
&lt;li&gt;Free forever&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But now it just updated to the new version, version 2+ and it got even better. The new stuff added:&lt;/p&gt;

&lt;h2&gt;
  
  
  Modifiers
&lt;/h2&gt;

&lt;p&gt;Now it's truly a mini blender inside Figma, using modifiers you can now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stroke Path tracing, animate any element on another vector path&lt;/li&gt;
&lt;li&gt;Type writer Effect for texts! &lt;/li&gt;
&lt;li&gt;Loop modifier for any Layer&lt;/li&gt;
&lt;li&gt;Copy Animations from other layers
and ...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Modifiers open so many opportunities and architecture, allows to headlessly build and plug-in more modifiers in future. &lt;/p&gt;

&lt;h2&gt;
  
  
  Timeline Markers
&lt;/h2&gt;

&lt;p&gt;Now by default if you hit "M" in the timeline ( You can customize the shortcut from settings, just like any other shortcut key ), it places a Marker on that time, and you can label them or give them any color as you wish.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bug fixes, UX Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Transform system refactored so properties like Morphing, Rotation, transform and ... perform together much better.&lt;/li&gt;
&lt;li&gt;Layer List now supports drag drop sorting, and reparenting.&lt;/li&gt;
&lt;li&gt;Animation Can happen now for any fill property ( Solid Colors, Gradients, Pattern, and Image properties like contras, brightness and ... )&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Download the plugin
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/community/plugin/1602896408819057835/motionkit-free-animation-motion-design-inside-figma" rel="noopener noreferrer"&gt;Download from Figma Community&lt;/a&gt; || &lt;a href="https://github.com/novincode/motionkit/releases/latest/" rel="noopener noreferrer"&gt;Download From Github&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;if you found MotionKit helpful, you can always &lt;a href="https://motionkit.codeideal.com/support" rel="noopener noreferrer"&gt;donate &amp;amp; sponsor&lt;/a&gt; the dev team to keep this tool alive &amp;amp; free for everyone.&lt;/p&gt;

&lt;p&gt;Let me know in the comments how you think :)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Animation &amp; Motion Design INSIDE FIGMA 2026</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sun, 15 Feb 2026 07:11:04 +0000</pubDate>
      <link>https://dev.to/codeideal/animation-motion-design-inside-figma-2026-omf</link>
      <guid>https://dev.to/codeideal/animation-motion-design-inside-figma-2026-omf</guid>
      <description>&lt;p&gt;I always enjoyed designing inside Figma, But when it comes to animation, then we have to either go with After Effects or Davinci Resolve which they're not as comfortable as Figma.&lt;/p&gt;

&lt;p&gt;That's why I started making one of my most ambitious projects, MotionKit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8x5fgvvro7aldg5qkvon.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8x5fgvvro7aldg5qkvon.png" alt="MotionKit - Free animation inside Figma" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  MotionKit Super Powers
&lt;/h2&gt;

&lt;p&gt;You can turn ANY Figma frame ( artboard ) into:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Timeline Animation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Powerful Record Mode ( Morphing, Text Animation, Colors, Everything! )&lt;/li&gt;
&lt;li&gt;Blender Inspired Timeline&lt;/li&gt;
&lt;li&gt;Presets Manager ( Default presets + Define your own custom presets )&lt;/li&gt;
&lt;li&gt;Modifiers ( GAME CHANGER ) - can be anything! like stroke path tracing or Type writer effect or maybe even particle effects!
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F964p5js0s9090g25yhfe.png" alt="MotionKit - Animation inside figma" width="800" height="450"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Frame By Frame Animation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fql1q3au52flmsgdmjl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fql1q3au52flmsgdmjl.png" alt="Frame by frame animation inside figma" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Onion Skinning ( Customizable )&lt;/li&gt;
&lt;li&gt;Compatible with Figma Draw mode&lt;/li&gt;
&lt;li&gt;NEW: Mirror selection to select that layer from all FBF frames&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Nested Animations!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;have multiple nested frames with different animations&lt;/li&gt;
&lt;li&gt;They can have different frame rates, and duration and looping mode&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Render without paywalls!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Render as Mp4 - Gif - PNG Sequence&lt;/li&gt;
&lt;li&gt;Export as Lottie animation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fztbkjx6cp72795cz36q7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fztbkjx6cp72795cz36q7.png" alt="Figma Animation Free Render &amp;amp; export as video" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This plugin is TOTALLY Free. I didn't wanna make it a SaaS and lock some features, I wanted to help more designers.&lt;/p&gt;

&lt;p&gt;But if you end up using it and found it helpful, You can always support me:&lt;br&gt;
&lt;a href="https://buymeacoffee.com/codeideal" rel="noopener noreferrer"&gt;BuyMeACoffee&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/sponsors/novincode" rel="noopener noreferrer"&gt;Sponsor in Github&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Links to this project:&lt;br&gt;
&lt;a href="https://www.figma.com/community/plugin/1602896408819057835/motionkit-free-animation-motion-design-inside-figma" rel="noopener noreferrer"&gt;Figma Community page (INSTALL HERE)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://motionkit.codeideal.com/" rel="noopener noreferrer"&gt;MotionKit Official Website&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/novincode/motionkit" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>design</category>
      <category>showdev</category>
      <category>tooling</category>
      <category>ui</category>
    </item>
    <item>
      <title>I built a FREE animation plugin for Figma: MotionKit</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sat, 14 Feb 2026 16:58:13 +0000</pubDate>
      <link>https://dev.to/codeideal/i-built-a-free-animation-plugin-for-figma-motionkit-1k74</link>
      <guid>https://dev.to/codeideal/i-built-a-free-animation-plugin-for-figma-motionkit-1k74</guid>
      <description>&lt;p&gt;So here's the thing — I've been building stuff in Figma for years, and the one thing that always bugged me was animation. You'd design something beautiful, then have to export frames, jump into After Effects or some other tool, and basically rebuild everything from scratch.&lt;/p&gt;

&lt;p&gt;It felt... broken? Like we had all this power for design but then hit a wall when we wanted things to &lt;em&gt;move&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is MotionKit?
&lt;/h2&gt;

&lt;p&gt;MotionKit is a &lt;strong&gt;completely free&lt;/strong&gt; Figma plugin that brings real animation tools directly into Figma. Not prototypes. Not fake transitions. Actual keyframe animation, frame-by-frame workflows, morphing, text animation, and direct MP4/GIF export.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bmuvhgf1d4j5z10w6yj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bmuvhgf1d4j5z10w6yj.png" alt="MotionKit - Animation inside Figma" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No subscriptions, no premium tiers, no "upgrade to unlock" nonsense. Just free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.figma.com/files/team/1410821600472406077/resources/community/plugin/1602896408819057835/motionkit-free-animation-motion-design-inside-figma?fuid=1410821598138053005" rel="noopener noreferrer"&gt;Try it on Figma Community →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The stuff that actually matters
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Timeline Mode – Record Everything
&lt;/h3&gt;

&lt;p&gt;You know how in After Effects you can just move stuff and keyframes appear? That's what Record mode does. Enable it, scrub the playhead, modify your layers in Figma, and boom — keyframes appear automatically. No clicking through menus, no manual keyframe placement for every single property.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F902i00psd29vehymv2yq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F902i00psd29vehymv2yq.png" alt="Motion Design for Figma" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
It records position, scale, rotation, opacity, blur, shadows, corner radius, fills, strokes... basically everything.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frame-by-Frame Mode – Classic Animation
&lt;/h3&gt;

&lt;p&gt;For those who like drawing things frame by frame (or just prefer that level of control), there's a full cel animation workflow with onion skinning. You can scrub through frames, reference previous frames as translucent overlays, and time each frame individually.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3etyz8fwbd71ub35p8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3etyz8fwbd71ub35p8y.png" alt="Frame By Frame animation inside Figma" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Nested Frames (this one's wild)
&lt;/h3&gt;

&lt;p&gt;Here's where it gets interesting — you can nest animations inside each other. Timeline inside frame-by-frame. Frame-by-frame inside timeline. Each with its own FPS. They all render correctly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ah91nc03mgddd4jqkss.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ah91nc03mgddd4jqkss.png" alt="Nested Frames - MotionKit" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
This unlocks so many possibilities for complex animations that I'm still discovering new ways to use it myself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Morphing &amp;amp; Text Animation
&lt;/h3&gt;

&lt;p&gt;Real SVG path morphing between different shapes. And text animation isn't just "fade in" — you can animate per-character, per-segment, with control over font size, color, spacing, line height, all independently keyframed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Export to MP4, GIF, PNG
&lt;/h3&gt;

&lt;p&gt;No external tools. Render directly to &lt;strong&gt;MP4&lt;/strong&gt; (H.264), &lt;strong&gt;GIF&lt;/strong&gt;, or &lt;strong&gt;PNG sequence&lt;/strong&gt; at 1x–4x scale. Just hit render and you're done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4x78ozc5ldzl1nrej3l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4x78ozc5ldzl1nrej3l.png" alt="Figma Animation with Free Render video" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Blender-Inspired Shortcuts
&lt;/h3&gt;

&lt;p&gt;All keyboard shortcuts are customizable. Default shortcuts feel a bit like Blender — select keyframes and hit &lt;strong&gt;G&lt;/strong&gt; to grab/move them or &lt;strong&gt;S&lt;/strong&gt; to scale. If you've used Blender, you'll feel right at home.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why free? (aka the awkward money talk)
&lt;/h2&gt;

&lt;p&gt;Look, I could've gone the SaaS route. Monthly subscriptions, freemium tiers, all that. But honestly? I just wanted this to exist. I wanted designers to have proper animation tools without hitting paywalls or dealing with export workflows that waste hours.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhz6jvp44ap2hkrljph9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhz6jvp44ap2hkrljph9.gif" alt="MotionKit Gif Logo - Figma Animation" width="256" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That said... this takes a &lt;em&gt;lot&lt;/em&gt; of time to build and maintain. So if you use it and it saves you time (or you just think it's neat), &lt;strong&gt;any support helps&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/sponsors/novincode" rel="noopener noreferrer"&gt;GitHub Sponsors&lt;/a&gt;&lt;/strong&gt; – ongoing support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://buymeacoffee.com/codeideal" rel="noopener noreferrer"&gt;Buy Me a Coffee&lt;/a&gt;&lt;/strong&gt; – one-time thing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Can't donate? That's totally fine. Just &lt;strong&gt;tell someone about it&lt;/strong&gt;. Tweet, post, share, whatever. The more people know about it, the more likely it keeps existing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;The plan is to eventually open-source this once it's mature enough. Right now it's free to use, but I want to clean up the code, add better docs, and make sure it's solid before opening it up fully.&lt;/p&gt;

&lt;p&gt;Also working on more features, fixing bugs, and generally making it better based on feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://motionkit.codeideal.com" rel="noopener noreferrer"&gt;motionkit.codeideal.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Figma Plugin&lt;/strong&gt;: &lt;a href="https://www.figma.com/community/plugin/1602896408819057835/motionkit-free-animation-motion-design-inside-figma" rel="noopener noreferrer"&gt;Install here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/novincode/motionkit" rel="noopener noreferrer"&gt;novincode/motionkit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href="https://motionkit.codeideal.com/docs" rel="noopener noreferrer"&gt;motionkit.codeideal.com/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build something cool with it, I'd love to see it. Or if you find bugs (and there probably are some), &lt;a href="https://github.com/novincode/motionkit/issues" rel="noopener noreferrer"&gt;open an issue&lt;/a&gt; or just email me at &lt;a href="mailto:ideyenovin@gmail.com"&gt;ideyenovin@gmail.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading ✌️&lt;/p&gt;

</description>
      <category>design</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>tooling</category>
    </item>
    <item>
      <title>DLMan :: the download manager I always wanted</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Thu, 08 Jan 2026 12:30:57 +0000</pubDate>
      <link>https://dev.to/codeideal/dlman-the-download-manager-i-always-wanted-5bi2</link>
      <guid>https://dev.to/codeideal/dlman-the-download-manager-i-always-wanted-5bi2</guid>
      <description>&lt;p&gt;As a Mac user, I always felt this gap.&lt;br&gt;
Windows users have IDM and a bunch of other solid download managers, but most of them are ancient, paid, or both. Meanwhile on Mac? Not much to choose from.&lt;/p&gt;

&lt;p&gt;So I did what any frustrated developer would do; I built my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing DLMan
&lt;/h2&gt;

&lt;p&gt;DLMan is a &lt;strong&gt;modern, open source download manager&lt;/strong&gt;, built with &lt;strong&gt;Rust (Tauri)&lt;/strong&gt; and &lt;strong&gt;React&lt;/strong&gt;.&lt;br&gt;
It’s fast, lightweight, and actually works the same on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;macOS&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtb1qgx7a0pwlj2qxgq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtb1qgx7a0pwlj2qxgq7.png" alt="DLMan" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is it great?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Multi-segment downloads with stable &lt;strong&gt;pause / resume&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Queues, schedules, and post actions
(yes, including &lt;em&gt;shut down my computer when finished&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Batch import + drag &amp;amp; drop (single or multiple links)&lt;/li&gt;
&lt;li&gt;Super lightweight (~5MB)&lt;/li&gt;
&lt;li&gt;Modern architecture, fully cross-platform&lt;/li&gt;
&lt;li&gt;Browser extensions&lt;/li&gt;
&lt;li&gt;100% open source&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Download
&lt;/h2&gt;

&lt;p&gt;You can grab it from GitHub:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/novincode/dlman" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/novincode/dlman/releases/tag/v1.8.2" rel="noopener noreferrer"&gt;Latest Release&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final words from the creator
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I genuinely love what I’m doing.&lt;br&gt;
I love building open source tools and sharing them with the world.&lt;/p&gt;

&lt;p&gt;But yeah — making a living this way isn’t easy.&lt;br&gt;
Open source survives because of the community behind it ❤️&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How you can support DLMan
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use it and report issues
(&lt;a href="https://github.com/novincode/dlman/issues" rel="noopener noreferrer"&gt;right here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Share it with friends&lt;/li&gt;
&lt;li&gt;Star the repo ⭐&lt;/li&gt;
&lt;li&gt;Feeling generous? ☕ &lt;a href="https://buymeacoffee.com/codeideal" rel="noopener noreferrer"&gt;Buy me a coffee&lt;/a&gt; || &lt;a href="https://github.com/sponsors/novincode" rel="noopener noreferrer"&gt;sponsor the project&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I really want to put more time into DLMan and make it even better.&lt;br&gt;
I &lt;strong&gt;do&lt;/strong&gt; read issues, and I &lt;strong&gt;do&lt;/strong&gt; try to fix them.&lt;/p&gt;

&lt;p&gt;Thanks for being part of this...&lt;/p&gt;

</description>
      <category>programming</category>
      <category>opensource</category>
      <category>rust</category>
      <category>tauri</category>
    </item>
  </channel>
</rss>
