You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Composify is a visual page builder for React that works with your own components.
24
+
Composify is an open-source library that adds a visual editor to your React application. It lets non-developers build pages using your existing production components, so engineers can focus on actual feature work.
25
25
26
-
Most WYSIWYG editors force you to use their generic component set. Composify takes a different approach—you register your production components once, and then anyone on your team can use them to build pages visually. Your design system stays intact, but now marketing and content teams can compose pages without filing tickets.
26
+
Most visual builders force you into a binary choice: use a rigid page builder with generic components (Wix, Squarespace) or adopt a complex headless CMS that requires modifying your code to fit their platform (Builder.io, Puck, Storyblok).
27
27
28
-
It's just a React component, so it works with Next.js, Remix, or any React environment. You own your data and there's no vendor lock-in.
28
+
Composify sits in the middle. It is a visual interface for your actual component code. Register your components once, and anyone on your team can use them to build pages visually. Your design system stays intact. Marketing and content teams compose pages without filing tickets.
29
+
30
+
It's just a React library. Works with Next.js, Remix, or any React environment. You own your data.
29
31
30
32
Check out the [live demo](https://composify.js.org/demo) to see it in action.
31
33
32
34
## Getting Started
33
35
34
36
### Installation
35
37
36
-
Install Composify with your preferred package manager:
37
-
38
38
```bash
39
39
# npm
40
40
$ npm install @composify/react --save
@@ -50,30 +50,13 @@ $ yarn add @composify/react
50
50
51
51
Before you can use a component in the `Editor` or `Renderer`, you need to register it in the `Catalog`.
52
52
53
-
Let's say you have a simple text component:
54
-
55
-
```tsx
56
-
// components/Text.tsx
57
-
import { FC } from'react';
58
-
59
-
typeProps= {
60
-
textAlign:'left'|'center'|'right';
61
-
children:string;
62
-
};
63
-
64
-
const Text:FC<Props> = ({ textAlign, children }) => (
> **Important**: Make sure to import this catalog file at your app's entry point (like `index.tsx` or `_app.tsx`) so your components are registered before the app renders.
83
+
**Important**: Import this catalog file at your app's entry point (like `index.tsx` or `_app.tsx`) so the registration happens before the app renders.
101
84
102
85
### Render Your Components
103
86
@@ -106,22 +89,22 @@ Once registered, you can render JSX from a string using the `Renderer` component
<Text textAlign="center">This is a simple example.</Text>
114
97
</div>
115
98
`;
116
-
99
+
117
100
exportconst Page = () => (
118
101
<Renderersource={source} />
119
102
);
120
103
```
121
104
122
105
### Edit Visually
123
106
124
-
To enable visual editing, use the `Editor` component:
107
+
To let users edit the content, use the `Editor` component:
125
108
126
109
```tsx
127
110
// editor.tsx
@@ -140,42 +123,57 @@ export const Page = () => (
140
123
);
141
124
```
142
125
143
-
The `Editor` provides a visual interface where users can drag, drop, and configure components without touching code.
126
+
Users can drag and drop components, modify props via the sidebar, and nest elements. Upon save, the editor serializes the tree back into a clean JSX string.
127
+
128
+
## Why Composify?
129
+
130
+
We built Composify to solve a common problem. Engineers build component libraries, but only engineers can use them effectively.
144
131
145
-
##Why Use Composify?
132
+
### Ship UI changes without deployments
146
133
147
-
We built Composify to solve a common problem: engineers build component libraries, but only engineers can use them effectively. Here are some scenarios where Composify helps:
134
+
Most apps ship with a hard-coded UI. Even small tweaks require a full redeploy. With Composify, your UI lives on the server. Change it there, and it's live everywhere, instantly. No CI/CD, no app store reviews, no waiting.
148
135
149
-
-**Ship UI changes without deployments** — Need to update a landing page or promotional banner? Push changes instantly without waiting for CI/CD pipelines or redeployments.
136
+
Big tech does this already. Airbnb has [Ghost Platform](https://medium.com/airbnb-engineering/a-deep-dive-into-airbnbs-server-driven-ui-system-842244c5f5). Yelp built [CHAOS](https://engineeringblog.yelp.com/2024/03/chaos-yelps-unified-framework-for-server-driven-ui.html). Lyft and Shopify have their own SDUI systems. Composify gives you that same power without the in-house infrastructure.
150
137
151
-
-**Reduce engineering bottlenecks** — Marketing teams can update content and layouts themselves instead of creating tickets and waiting for developers. This frees up engineering time for actual feature work.
138
+
### Unblock your team
152
139
153
-
-**A/B testing made simple** — Test different UI variations without code changes or complex feature flag setups.
140
+
In most companies, small UI tweaks end up in the engineering backlog. Marketing wants to launch a promo. Content editors want to tweak a landing page. The ops team is running a seasonal campaign.
154
141
155
-
-**Rapid prototyping** — Build high-fidelity prototypes using your actual production components, not placeholder widgets. What you prototype is what you ship.
142
+
With Composify, the roles become clear:
156
143
157
-
-**Better than headless CMS** — Traditional CMSs give you generic WYSIWYG editors. Composify lets you work with your own design system, so everything stays consistent.
144
+
- Engineers focus on what they do best: building robust, reusable components
145
+
- Non-developers use the visual editor to bring those components to life
158
146
159
-
-**No-code tools for your team** — Empower content and product teams to build their own pages using components that engineers have already built and tested.
147
+
### A/B testing and rapid prototyping
160
148
161
-
There's more detail on specific use cases in the [documentation](https://composify.js.org/docs/use-cases/instant-ui-updates).
149
+
Want to test a different page layout for a user segment? Or prototype a feature directly in production? Swap out page structures, personalize onboarding flows, test new CTAs. It all happens server-side. No redeploys. No branching strategies.
150
+
151
+
### Better than headless CMS
152
+
153
+
Traditional CMSs lock you into themes and templates. You end up rebuilding your design system inside a clunky page builder, and the result never quite matches your actual app.
154
+
155
+
With Composify, content teams use the same components that power your core product. What they edit is exactly what ships.
156
+
157
+
More details on use cases in the [documentation](https://composify.js.org/docs/use-cases/instant-ui-updates).
162
158
163
159
## Composify Cloud
164
160
165
-
If you want a hosted version with collaboration features, [Composify Cloud](https://composify.js.org/cloud) provides:
161
+
The open-source library gives you the engine (Editor and Renderer). Building the car (database, API, version history, collaboration) takes time.
162
+
163
+
[Composify Cloud](https://composify.js.org/cloud) is the infrastructure layer for teams that want the benefits without maintaining the backend:
166
164
167
-
-**Managed hosting**— No infrastructure to manage, unlimited bandwidth
168
-
-**Real-time collaboration**— Multiple team members can edit the same page simultaneously
169
-
-**Version history**— Time-travel through changes and restore previous versions
165
+
-**Managed hosting**- No infrastructure to manage, unlimited bandwidth
166
+
-**Real-time collaboration**- Multiple team members can edit the same page simultaneously
167
+
-**Version history**- Time-travel through changes and restore previous versions
170
168
171
169
## Documentation
172
170
173
171
Full documentation is available at [composify.js.org/docs](https://composify.js.org/docs).
174
172
175
173
## Contributing
176
174
177
-
We welcome contributions to Composify! Whether you're fixing bugs, adding features, or improving docs, pull requests and issues are always welcome.
175
+
We welcome contributions. Whether you're fixing bugs, adding features, or improving docs, pull requests and issues are always welcome.
178
176
179
177
## License
180
178
181
-
This project is licensed under the [Elastic License 2.0](LICENSE). It's free to use for most cases, with some restrictions on offering Composify as a hosted service. See the license file for details.
179
+
This project is licensed under the [Elastic License 2.0](LICENSE). Free to use for most cases, with some restrictions on offering Composify as a hosted service. See the license file for details.
0 commit comments