11 comments

[ 2.4 ms ] story [ 35.7 ms ] thread
Figma's API returns 400 for .make files, so I dug into the binary. Turns out it's a ZIP with a custom format: Deflate for the schema chunk, Zstandard for the data, then Kiwi binary decoding. Scripts on GitHub if useful: https://github.com/albertsikkema/figma-make-extractor
I'm curious if you tried binwalk? That's usually my goto for mysterious files.
I once reverse engineered the Figma .fig file they have utilised quite good compression and data storage techniques for a tech company that uses AWS
> First thing I did was look at the raw bytes: xxd -l 4 "ClientApp.make"

I recommend using the linux "file" command, since it will generally be able to tell you these sorts of things straight away. I've been working on a long-term project to directly import figma design files into Unity, so I've ended up coming across a lot of these things myself

Thanks, will keep that one in mind for next time!
This is fascinating, thanks for sharing! I also appreciated the "when would you need this" section at the end.

> "When Would You Need This? - Client hands you a Figma Make prototype but not the design file - You want to audit AI-generated code before deployment - You need to migrate away from Figma Make to a different stack - You want to extract design tokens for your design system - Pure curiosity about how Figma structures its data"

It's interesting that the AI tool just writes react rather than creating a figma drawing. All that training on writing code has made it easier for AI to just write the app than make an illustration of it.
I mean, it makes sense. In order to sketch out a screen, you need to run (most of) a layout engine in your head. If you're an AI, it's simpler to just... use a layout engine.