Tony GorbProduct Designer & Builder

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

Work/Mokker
Contents

Mokker · Figma plugin and web studio

Real 3D device mockups, from a Figma frame to motion

Role
Solo · design, brand, code
Year
2026
Users
13.2k

Overview

A Figma plugin that turns any frame into a 3D device mockup. Designed, branded and built end to end.

Mokker places a selected frame on an iPhone, iPad or MacBook without leaving Figma. I took it from first commit to 1.0 in two weeks, and 13.2k designers have used it since. A companion web studio added lighting and motion.

The plugin, inside Figma
Mokker Studio, on the web

Problem

Presenting a design on a device meant leaving Figma

Designers paid for mockup tools, exported to other apps, or pasted screens onto flat photos of phones. Every design change meant repeating the process.

The demand was already proven

My free iPhone mockup files on Figma Community had reached 29.2k and 4.7k users. Their comments exposed the limit of a static file: people struggled just to place a design in it, and nothing could change the angle, colour or device.

iPhone 14 Mockups on Figma Community · Open on Figma Community
iPhone 15 Mockups on Figma Community · Open on Figma Community
1 / 1

Goals and constraints

Native to Figma, free, and fully local

No extra app and no server. Every render runs on the designer's own machine, and the largest export is engineered to land exactly on Figma's 4,096 px limit for plugin images.

Add to Canvas at Max: 4,096 px, the largest image a Figma plugin can make

Picking a camera

The angle is the whole shot, so you should choose it by seeing it.

The camera picker went through three iterations in the first week.

01 · Problem

Iteration 1: presets as names

Six named cards over the same sketch. To see a shot, you had to try it. Live renders on every card came next, with the name moved into a tooltip.

Day one: six names
Day two: a live render on each card
Day three: the name moves into a tooltip
1 / 1

02 · Exploration

Iteration 2: shots tuned to each device

Each device got its own six angles. The shots improved, but the picker changed with every device switch.

iPhone
iPad
MacBook
1 / 1

03 · Decision

Shipped: one 3 × 3 grid of the device itself

Nine positions, consistent across every device, each card a preview of the shot it produces. Select one to see the camera move.

Center

Pick a position and the camera follows

04 · Solution

Frame in, device out, back on the canvas

Select a frame, choose a camera, and the finished shot lands in the file next to the original.

The whole flow, in Figma

Onboarding

A six-step tour, replaced after two days

Version 2.0 introduced a guided tour. Two days later I replaced it with a short What's New, which remains the onboarding today.

2.0: the six-step tour
2.1: What's New instead

Themes

Light and dark from one token system

Since 2.0 the plugin follows the system theme, with a manual switch in the help menu. Both themes are driven by one set of tokens.

Mokker 2.1.1 in its light theme
Mokker 2.1.1 in its dark theme
The same screen in light and dark. Drag to compare

Light and motion

Light and motion as a separate product

Instead of extending the plugin, I built Mokker Studio: a web app on the same camera system that adds lighting, animation and video export.

Light presets in the studio

Animation rebuilt around clips

A week in, I rebuilt the animation model around clips instead of tracks.

Orbit, Zoom In and Spin

Launched as a gated alpha

Access opened in stages: invite codes first, then open signup behind an access gate with a waitlist.

Sign up, then the access gate

Brand

One identity across the plugin, the studio and the campaign

I named it Mokker and designed the mark within its first two weeks, then carried it into the app icon, the colours, the type and the launch campaign.

The Mokker brand

Built alone

Building it myself set the limits I designed to.

98 commits took it from first commit to 1.0 in two weeks. Compare 1.0 with the plugin today.

Mokker 1.0.0, light, the plugin window built from its commit, empty, at its own 910 x 630
Mokker 2.1.1, the same window at the same size
Two weeks in, and today

Outcome

13.2k designers have used it

Free on Figma Community. Every comment on its page is positive, and the requests point to the roadmap: Pixel devices, shared team presets, a tilting MacBook lid.

13.2kdesigners have used Mokker226 likes · Figma Community
This plugin is absolutely amazing. You've done a real service to the design community here.
James Walsh@jameswalsh5 · Figma Community
Works amazingly. Nice work, and thank you so much!
Alisson Luiz@alissonluiz
Plugin looks amazing! Any timeline on when a set of Pixel models might be available?
Will Clement@willclement
Nice work! Have you thougth about to add option to tilt Macbook's display? And add Mac desktop/monitor? Thanks!
Marko Söönurm@markosoonurm
From Mokker's comments on Figma Community

Reflection

What I'd take to the next product

  1. 01

    Choose by seeing

    Presets went from names to previews; the picture became the choice.

  2. 02

    Cut before adding

    Much of the first two weeks went into removing, not adding, features.

  3. 03

    Onboard lightly

    A modal, a loading screen, a tour, then a short What's New that lasted.

  4. 04

    Design to the limits

    Figma caps plugin images at 4,096 px, so the export was built for it.

  5. 05

    Two apps, two products

    The studio brought accounts, a backend and an alpha program to run.

  6. 06

    Brand the empty state

    The mark sits on the empty device screen, before any frame lands.