Visual Builder
Production-ready Figma-like editor for designing React/Next.js applications.
Visual Builder Documentation
Overview
The Visual Builder is a production-ready Figma-like editor for designing React/Next.js applications. It combines drag-and-drop simplicity with the power of real code generation.
"Design visually. Export clean code. Ship production apps."
Key Features
| Feature | Description |
|---|---|
| 580+ Pre-built Blocks | Ready-to-use UI components across 14 categories |
| 40+ Base Components | shadcn/ui components with full customization |
| AI Page Generator | Natural language to production pages |
| Theme System | OKLCH colors, 5+ presets, full customization |
| Responsive Design | Built-in breakpoint support |
| Data Binding | Connect to APIs, state, localStorage |
| Event System | 40+ triggers with action chaining |
| TSX Export | Clean, production-ready code |
Block Library (580+ Blocks)
Categories Overview
| Category | Blocks | Description |
|---|---|---|
| Authentication | 65+ | Login, signup, password reset, 2FA, social auth |
| Forms | 50+ | Contact, feedback, survey, search, file upload |
| Navigation | 30+ | Headers, footers, sidebars, breadcrumbs |
| Marketing | 60+ | Hero sections, features, pricing, testimonials |
| Cards | 40+ | Product, profile, media, feature, stats |
| Dashboard | 50+ | Stats widgets, charts, activity feeds |
| Tables | 25+ | Data tables, comparison, list views |
| Commerce | 35+ | Products, cart, checkout, orders |
| Content | 40+ | Blog, articles, galleries, onboarding |
| Charts | 40+ | Area, bar, line, pie, radar, radial |
| AI Chat | 15+ | Chat interfaces, prompts, model selectors |
| UI Primitives | 40+ | Accordion, tabs, toggle, calendar |
| Overlay | 25+ | Sheet, drawer, dropdown, popover |
| Feedback | 25+ | Toast, skeleton, spinner, alerts |
Authentication Blocks (65+)
Login Forms (15 variants)
| Block ID | Name | Style |
|---|---|---|
login-01 | Simple Login | Clean, minimal |
login-social-02 | Social Login | Google, GitHub, etc. |
login-split-03 | Split Screen | Image + form layout |
login-floating-04 | Floating Labels | Modern animation |
login-dark-06 | Dark Theme | Gradient border |
login-magic-09 | Magic Link | Passwordless option |
login-enterprise-10 | Enterprise SSO | SAML integration |
Signup Forms (15 variants)
| Block ID | Name | Features |
|---|---|---|
signup-01 | Simple Signup | Basic form |
signup-strength-02 | Password Strength | Visual meter |
signup-wizard-03 | Multi-Step | Progress wizard |
signup-social-04 | Social Options | OAuth providers |
signup-plans-05 | Plan Selection | Pricing tiers |
AI Page Generator
How It Works
Natural Language → DSL → Component Tree → TSX ExportExample Prompt
"Create a modern SaaS dashboard with:
- Sidebar navigation with icons for Dashboard, Analytics, Users, Settings
- Header with search bar, notifications bell, and user avatar dropdown
- Main content area with:
- 4 stats cards showing revenue, users, orders, conversion rate
- Line chart for revenue over time
- Recent activity feed
- Data table with top products
- Dark theme with blue accent colors"Theme System
OKLCH Color Space
All colors use OKLCH for perceptually uniform adjustments:
typescript
interface OKLCHColor {
l: number; // Lightness (0-1)
c: number; // Chroma (0-0.4)
h: number; // Hue (0-360)
}Preset Themes
| Theme | Style | Primary Color |
|---|---|---|
| Vega | Modern minimal | Blue |
| Nova | Bold vibrant | Purple |
| Maia | Warm earthy | Orange |
| Lyra | Cool professional | Teal |
| Mira | Playful colorful | Pink |
Responsive Design
Breakpoints
| Breakpoint | Width | Target |
|---|---|---|
sm | 640px+ | Mobile landscape |
md | 768px+ | Tablet |
lg | 1024px+ | Laptop |
xl | 1280px+ | Desktop |
2xl | 1536px+ | Large desktop |
Code Export
Generated Code Example
tsx
// Exported from Builder
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
import { Button } from "@/components/ui/button"
export default function ProductCard({ product }) {
return (
<Card className="w-[350px]">
<CardHeader>
<CardTitle>{product.name}</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<p className="text-muted-foreground">{product.description}</p>
<div className="flex justify-between items-center">
<span className="text-2xl font-bold">
${product.price.toFixed(2)}
</span>
<Button>Add to Cart</Button>
</div>
</CardContent>
</Card>
)
}Keyboard Shortcuts
| Shortcut | Action |
|---|---|
⌘ + S | Save project |
⌘ + Z | Undo |
⌘ + ⇧ + Z | Redo |
⌘ + C | Copy component |
⌘ + V | Paste component |
⌘ + D | Duplicate |
Delete | Remove selected |
⌘ + G | Group components |
Space + Drag | Pan canvas |
⌘ + Scroll | Zoom in/out |