When I was working on ToolGrid, I found myself doing everything manually. Translating my HTML/CSS mental model into Freya’s Rust logic was a tedious, grueling task. It felt like walking through molasses.
Then I heard Marc (the creator of Freya) commenting about AI, and I saw the insane results people were achieving on Twitter. I decided enough was enough. I dove in headfirst.
I bought a Google AI Pro subscription. I grabbed z.ai’s Max plan for a full year. I was ready to push the boundaries. My goal? To see just how effective AI could be at building native applications with Freya and Rust.
As a fullstack developer, I breathe React and Tailwind CSS. Rust UI frameworks often feel like an alien planet—powerful, but foreign. But after chatting with Marc and Roberts (the main contributors to Freya), a wild idea struck me:
What if I could just ask the AI to “translate” my web knowledge into Rust?
The Transformation
The goal was ambitious: Take a modern, beautiful React dashboard and turn it into a native Rust binary. No webviews. No Electron bloat. Pure Rust rendering with Skia via Freya.
Step 1: The Rosetta Stone
First, I needed the AI to understand Freya deeply—not just surface level, but structurally. I asked “Opus” (my AI assistant) to analyze the entire freya directory. Its job was to create a mapping: how does CSS correspond to Freya properties?
The result was a set of detailed markdown guides that acted as my translation layer:
- css_to_freya_guide.md: The direct mapping.
- tailwind_to_freya_guide.md: The utility class translator.
- freya_framework_reference.md: The cheat sheet.
Step 2: The Visual Target
I didn’t start with Rust code. I started with what I knew.
I gave a prompt to Google Stitch to design a “modern dashboard with sidebar”. It spit out this stunning interface:

I exported this as HTML code, then copy-pasted different parts of the content into a modularized React app. This gave me a precise visual target and a code reference that the AI could perfectly understand.
Step 3: The Magic in Antigravity
Here’s where it got crazy. I added my React project to my Rust workspace inside Google Antigravity. Then I dropped the ultimate prompt:
“Create a new Cargo binary project
UtilitiesProusing Freya. Use the documentation files you created to understand the styling tables. Now, look at my React dashboard and create the exact same looking dashboard in this new binary.”
The Result
It worked. Like actual magic.
The AI almost generated a native Rust application that mirrored my React dashboard . It didn’t just copy code; it translated paradigms:
- Tailwind classes became Freya builder methods (e.g.,
p-4->.padding(16.)) - React state became Freya
use_statehooks - Component hierarchy became elegant Rust modules and functions

Its not quite perfect but still its close.
Why This Matters
This experiment proves that the barrier to entry for native systems programming is crumbling. You don’t need to relearn everything from scratch. With the right context—documentation and a clear reference—AI can act as a translator between the frameworks you know and the ones you want to learn.
I didn’t just get a working app; I got a masterclass in how to write Freya code by seeing my own React logic translated into idiomatic Rust.
Special thanks to Marc for his work on Freya, and to the AI that acted as my pair programmer.