Tony GorbProduct Designer & Builder

LinkedIn (opens in a new tab)GitHub (opens in a new tab)
Download CV PDFView CV

Work/Stardust
Contents

Stardust · Figma plugin

Exporting 4K video loops from inside a Figma plugin

Role
Solo · design, brand, code
Year
2026
Users
951

Overview

A Figma plugin that builds galaxies from real particles and exports them as images, GIFs and seamless loops.

Made for hero sections, landing pages and slides. I designed, branded and built it alone; it launched on Figma Community with a paid tier and has been free since 1.5.0.

Presets
Controls
Export
1 / 1

Steering a galaxy

Start from a preset, then steer it with a dial.

A preset sets every value, and every value stays live. Spin turns each star by its distance from the core: at 0, Ice Crystal’s arms are straight spokes; at 2.6, a tight spiral.

Ice Crystal: Spin 1.3, then 0, then 2.6

Export

Real files, rendered frame by frame inside the plugin

PNG, GIF, WebM or MP4, at four ratios from 720p to 4K or a custom size; GIF stops at 1080p to keep files small. Every frame is drawn again at the size picked, and each video format has a fallback, since Figma’s plugin frame may not offer the browser’s encoder.

A 1080p MP4 loop, rendered frame by frame

Seamless loop

A loop you can’t find the end of.

With Loop Animation on, every moving layer makes one full turn in the clip’s length: the camera first, on 29 December, the nebula and distant galaxy the same night. The last frame steps to the first like any other.

Aurora Spiral, the plugin’s own 4K loop export, 5 seconds

The paywall

I built a paywall around the export, then took it out.

Licensing was in the first commit. Two of the first three public versions, both on 3 January, were about the licence check.

01 · What it locked

PNG at 720p was free. The rest was Pro.

In 1.1.0 a free user could pick any format, but anything past a 720p PNG turned both buttons into Upgrade.

1.1.0, 12 January, as a free user

02 · How it grew

Two plans and a licence key, checked on a server

In two weeks payments moved from LemonSqueezy to Gumroad, Pro became a key checked on a server, and even the window’s maximum size became a Pro limit. By 4 January, licensing was 17.6% of the code.

1.1.0: Upgrade to Pro
1.1.0: Activate License
1 / 1

03 · Taking it out

Free, with a way back

Version 6, on 17 March: “Stardust is now completely free for everyone!” Two commits deleted 4,952 lines; a guide stayed in the repository for putting the paywall back.

1.1.0, 12 Jan: Upgrade to Add
1.5.0, 17 Mar: Add to Canvas
1 / 1

Brand

One amber A, from the wordmark to the listing

I named it and drew the wordmark: spaced capitals with one amber A on the plugin’s near-black. The amber runs through the icon, the loading bar and the Figma Community listing.

The Stardust brand

Built alone

Twelve days from first commit to Figma Community.

102 commits, all mine, from React and three.js for the scene to an MP4 container written in code. The first build put everything in one panel; within a week the presets, the controls and the mark had their final shape.

21 December, the first build
28 December, the amber A
1.5.0, free
1 / 1

Outcome

951 people have used it on Figma Community.

Twenty of its galaxies also went out as a free Figma file, counted on its own.

951people have used Stardust18 likes · Figma Community
488people use the free 20 Galaxy Backgrounds fileFigma Community
Figma Community counters for the plugin and the free file

Reflection

What I’d take to the next product

  1. 01

    Gate last

    Licensing shipped in commit one, before the export it guarded was done.

  2. 02

    Make big calls undoable

    The paywall left in two commits, with a guide for putting it back.

  3. 03

    Ship small, then iterate

    First public version 12 days in; five updates, the last one free.

  4. 04

    Design to the sandbox

    Every video format has a fallback: Figma may not offer the encoder.

  5. 05

    Loop by construction

    Each layer's speed comes from the clip length, so a loop always closes.

  6. 06

    A counter isn't usage

    951 people found it on Figma; only its events can show who returns.