From Generating UI to Composing Systems: What We’re Building with Pixeliro
Most AI tools today generate UI the same way they generate code:
free-form.
You prompt → it outputs HTML / React → it looks good…
until you try to plug it into a real product.
Then everything breaks:
wrong tokens
hardcoded values
inconsistent components
no alignment with your design system
The problem isn’t generation quality.
The problem is lack of structure before generation.
A Different Approach: Structured-First UI
At Pixeliro, we’re experimenting with a different model:
Don’t generate UI.
Generate UI specs inside a system.
Traditional flow (most tools)
Prompt → HTML → Try to fix → Production (breaks)
Pixeliro flow
Prompt
→ Intent Analysis
→ Component Mapping
→ Design Token Binding
→ Layout Composition
→ Render
The Key Idea: Compose, Don’t Generate
Instead of letting AI create arbitrary UI, we constrain it to:
existing components
semantic tokens
layout rules
So the model is no longer a “creator”
It becomes a composer inside a design system
What We Built
- CLI Generator
A CLI that turns prompts into structured UI specs:
px gen "finance dashboard with stats and charts"
Output is NOT HTML.
It’s something like:
{
"components": [
{ "name": "StatCard", "variant": "highlight" },
{ "name": "Chart", "type": "line" }
],
"tokens": {
"bg": "surface.elevated",
"text": "text.primary"
},
"layout": "grid"
}
- Web UI Composer
Instead of editing code, you:
browse components
map tokens
compose layouts visually
Like this 👇
Why This Matters
AI is great at generating.
But production systems require:
consistency
predictability
constraints
Without constraints:
you get faster output
but also faster bugs
The Real Shift
We don’t need AI to be more creative.
We need it to be more bounded.
A Pattern Across Domains
This isn’t just UI.
We’re seeing the same shift in:
infra → IAM templates instead of free policies
backend → typed schemas instead of free responses
frontend → tokens/components instead of raw HTML
Final Thought
The future of AI is not better generation.
It’s better constraint systems around generation.
If you’re building with AI, ask yourself:
What does “correct” mean in your system?
And how do you force AI to stay inside that definition?
Curious how others are approaching this.
Are you still generating, or already constraining?

Top comments (0)