Introduction
UIGen is a runtime frontend generator for OpenAPI-described APIs. Point it at any OpenAPI 3.x or Swagger 2.0 spec and it serves a fully functional, interactive frontend: tables, forms, detail views, authentication, search, and more, with zero boilerplate and zero code to write.
What UIGen does
UIGen reads your API spec and generates a complete UI at runtime:
- List views: paginated, sortable tables for every collection endpoint
- Detail views: read-only record pages with related resource links and embedded child streams
- Create / edit forms: validated forms derived from request body schemas
- Search: global and per-resource filtered search using query parameters from the spec
- Dashboard: auto-generated overview with resource counts and quick links
- Multi-step wizards: triggered automatically for large or nested forms
- Charts: line, bar, pie, and scatter charts above list views when
x-uigen-chartis configured - Live WebSocket streams: declarative
x-uigen-websocketmerges live data into list, detail, and chart views - Landing pages: hero, features, pricing, and FAQ sections at
/ - Authentication: Bearer token, API Key, HTTP Basic, OAuth 2.0 social login, and credential-based login
- Payments: Stripe, PayPal, Square integration with pricing pages and payment gates
- Overrides: replace any auto-generated view with custom React components
All API calls are live (UIGen proxies requests to your real backend, so there is no mocking and no stub data).
Who it's for
UIGen is useful for:
- API developers who want an instant admin UI or internal tool without building a frontend
- Embedded and IoT developers who expose REST endpoints from firmware and need a control panel for GPIO, sensors, and device config
- Teams that need a quick way to explore and test a new API
- Prototypers who want to demo an API to stakeholders without writing UI code
How it works
UIGen reconciles your .uigen/config.yaml with the spec, parses the result into an Intermediate Representation (IR), then uses that IR to drive a React SPA. The CLI injects the IR into the app at startup and starts a local server.
OpenAPI Spec + Config → Reconciler → Adapter → IR → React SPA → Your API
See How It Works for a deeper look at the data flow.
Packages
UIGen ships as three packages:
| Package | Purpose |
|---|---|
@uigen-dev/cli |
The uigen serve command (the fastest way to get started) |
@uigen-dev/core |
Framework-agnostic adapters and IR (use this to build your own renderer) |
@uigen-dev/react |
The React renderer (the default UI layer) |
Optional distribution targets (for example @uigen-dev/target-electron for desktop) wrap an existing renderer. See Electron Target.
Example apps
The repository includes reference apps for web APIs and embedded devices:
- Meeting Minutes (FastAPI) — templates, PDF generation, auth
- ESP32 Board Simulator (C++) — GPIO, sensors, live telemetry charts
- DevBoard (Next.js) — board visualizer + UIGen control panel
- STM32 Nucleo Simulator (C++) — professional embedded workflow
Next steps
- Quick Start: run UIGen in under a minute
- AI Agent Skills: auto-configure with your coding assistant
- Live Data & WebSockets: wire live telemetry and snapshots
- Installation: install the packages that fit your use case
- Example Apps: clone and run reference projects