When Intent Becomes the Source Code
The past two weeks of AI engineering forced a shift I didnt expect—away from writing code and toward describing systems semantically.
Nino Chavez
Product Architect at commerce.com
I found the compiler. Not the one that turns .ts into .js. The one that turns intent into software.
The past two weeks of hands-on AI engineering forced a shift I didn’t expect—away from writing code and toward describing systems semantically. And the deeper I went, the clearer it became:
We’re not building apps anymore. We’re building compilers for our ideas.
The Starting Point
Like many teams, I started with Copilot-style assistance. Helpful, sure—but fundamentally just faster typing.
Then I layered in Kilo and Lovable. Now I could describe a bracket system, define a schema, and scaffold UIs + edge functions from that shared model. Progress.
But something was still missing.
The Click
Then it clicked. The real unlock wasn’t “better codegen.” It was treating the spec as the source of truth—not the code.
I stopped tweaking components and started writing rules:
- 3-team pools must always play 3 sets
- Points determine ranking
- Head-to-head is first tiebreak
- Match syncs should never overwrite confirmed states
- Themes are DB-driven and WCAG validated by default
These weren’t just config files. They were semantic constraints. And once those existed, everything else could be compiled: Supabase schema, edge function orchestration, RLS policies, UI variants, test cases, and real-time sync validation.
The Twist
But here’s the twist: when something broke, the bug wasn’t in the code. It was in the intent. Either I didn’t express it clearly enough—or the AI misread my spec.
So I stopped debugging the app. I started debugging the model of the system.
That’s where I’ve landed.
What I’m Building Now
What I’m building now is closer to an Intent Compiler than a frontend. It turns semantic specs into full-stack systems—deterministically.
It’s reliable. Composable. Auditable. It aligns with the real work: defining what matters and letting the system figure out the rest.
This is the next abstraction layer. It’s how AI-native software actually gets written.
And once you see it, you can’t go back.
Open Questions
I’m still figuring out the boundaries. How do you handle escape hatches for manual code? How do you debug AI reasoning when the spec is correct but the output isn’t? How do you build trust in AI-generated systems?
The compiler is already here—I’m just learning how to write for it.
Originally Published on LinkedIn
This article was first published on my LinkedIn profile. Click below to view the original post and join the conversation.
View on LinkedIn