Skip to content

Commit 68bed79

Browse files
committed
docs: renew README content
1 parent 10cf072 commit 68bed79

File tree

2 files changed

+46
-56
lines changed

2 files changed

+46
-56
lines changed

LICENSE

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,3 @@ each case subject to the following conditions:
2727

2828
This license is governed by the laws of the State of California and the
2929
United States of America.
30-
31-
---
32-
33-
Third-Party Licenses
34-
35-
This project includes icons from Font Awesome Free by Fonticons, Inc.
36-
These icons are licensed under the Creative Commons Attribution 4.0 International license (CC BY 4.0).
37-
Full license: https://fontawesome.com/license/free

README.md

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div align="center">
22
<a href="https://composify.js.org">
33
<picture>
4-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/composify-js/composify/blob/main/packages/docs/public/brand/logo-dark.png?raw=true">
5-
<img src="https://github.com/composify-js/composify/blob/main/packages/docs/public/brand/logo-light.png?raw=true" alt="Composify" width="290" />
4+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/composify-js/composify/blob/main/packages/docs/app/public/brand/logo-dark.png?raw=true">
5+
<img src="https://github.com/composify-js/composify/blob/main/packages/docs/app/public/brand/logo-light.png?raw=true" alt="Composify" width="290" />
66
</picture>
77
</a>
88
<p>Server Driven UI made easy</p>
@@ -21,20 +21,20 @@
2121

2222
## Introduction
2323

24-
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.
2525

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).
2727

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.
2931

3032
Check out the [live demo](https://composify.js.org/demo) to see it in action.
3133

3234
## Getting Started
3335

3436
### Installation
3537

36-
Install Composify with your preferred package manager:
37-
3838
```bash
3939
# npm
4040
$ npm install @composify/react --save
@@ -50,30 +50,13 @@ $ yarn add @composify/react
5050

5151
Before you can use a component in the `Editor` or `Renderer`, you need to register it in the `Catalog`.
5252

53-
Let's say you have a simple text component:
54-
55-
```tsx
56-
// components/Text.tsx
57-
import { FC } from 'react';
58-
59-
type Props = {
60-
textAlign: 'left' | 'center' | 'right';
61-
children: string;
62-
};
63-
64-
const Text: FC<Props> = ({ textAlign, children }) => (
65-
<p style={{ textAlign }}>{children}</p>
66-
);
67-
68-
export default Text;
69-
```
70-
71-
Now register it:
72-
7353
```tsx
7454
// catalog.tsx
7555
import { Catalog } from '@composify/react/renderer';
76-
import Text from '@/components/Text';
56+
57+
const Text = ({ textAlign, children }) => (
58+
<p style={{ textAlign }}>{children}</p>
59+
);
7760

7861
Catalog.register('Text', {
7962
component: Text,
@@ -97,7 +80,7 @@ Catalog.register('Text', {
9780
});
9881
```
9982

100-
> **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.
10184

10285
### Render Your Components
10386

@@ -106,22 +89,22 @@ Once registered, you can render JSX from a string using the `Renderer` component
10689
```tsx
10790
// page.tsx
10891
import { Renderer } from '@composify/react/renderer';
109-
92+
11093
const source = `
11194
<div>
11295
<h1>Welcome to Composify!</h1>
11396
<Text textAlign="center">This is a simple example.</Text>
11497
</div>
11598
`;
116-
99+
117100
export const Page = () => (
118101
<Renderer source={source} />
119102
);
120103
```
121104

122105
### Edit Visually
123106

124-
To enable visual editing, use the `Editor` component:
107+
To let users edit the content, use the `Editor` component:
125108

126109
```tsx
127110
// editor.tsx
@@ -140,42 +123,57 @@ export const Page = () => (
140123
);
141124
```
142125

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.
144131

145-
## Why Use Composify?
132+
### Ship UI changes without deployments
146133

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.
148135

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.
150137

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
152139

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.
154141

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:
156143

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
158146

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
160148

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).
162158

163159
## Composify Cloud
164160

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:
166164

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
170168

171169
## Documentation
172170

173171
Full documentation is available at [composify.js.org/docs](https://composify.js.org/docs).
174172

175173
## Contributing
176174

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.
178176

179177
## License
180178

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

Comments
 (0)