Your theme is data now.
And data can be drafted.
One live theme, as many drafts as you like, a signed link to preview any of them, and a publish that is atomic — with a snapshot behind it, so rollback is one click.
Ninety seconds from idea to live.
- 1
Copy the live theme.
A draft is a full duplicate — templates, settings, colours. Edit it in the visual editor; the live site doesn't twitch.
- 2
Preview with a signed link.
Every draft gets a thirty-minute signed link that works on your real domain. Send it to the group chat; a bad or expired signature is indistinguishable from nothing.
- 3
Publish atomically.
The outgoing live theme is snapshotted, demoted and replaced in one statement. Every publish is numbered, and rollback snapshots the current state first — undo is itself undoable.
Drafts that cannot hurt the live site.
Exactly one live theme per store is enforced in the database, not by habit. A draft renders through the same components as live — nothing in the storefront branches on “is draft” — so what you preview is what you publish.
A new section, with no deploy.
A custom section is a database row: Liquid source, a schema, scoped CSS. It appears in the editor's add-section list by existing, renders in a sandbox with a two-hundred-millisecond ceiling, and publishes only after it compiles.
Your look survived the move.
Colours, fonts, radii, logo, custom CSS — theme settings are data, ported from Shopify as-is and validated against a schema with Arabic and English labels. Unknown legacy keys carry through untouched; nothing from the old store is silently dropped.
A theme editor vs a theme system.
| The old way | Raizn | |
|---|---|---|
| Edit safely | Edit live and pray, or duplicate by hand. | Drafts, signed previews, atomic publish, numbered snapshots. |
| A new section | A developer and a deploy. | A row, a sandbox, a publish button. |
| Undo | The old file, if someone kept it. | A snapshot per publish; rollback is one click, and itself undoable. |