Build it your way. Let your team run it.
Alchemy is a content management system for Rails. You design the building blocks and own every line of markup β your editors add, arrange and publish pages without touching code.
Everything youβd expect, already built in
Alchemy ships with what a real site needs, so you are not gluing it together yourself.
-
Media library
Upload once, use anywhere. Crop an image differently for each place it appears without altering the original, and let the browser download only the size it needs.
-
Draft and publish
Every page has a draft you work on and a published version visitors see. Nothing goes live until you say so.
-
Publish on a schedule
Give a page a go-live date and an end date. Embargoed announcements and time-limited campaigns handle themselves.
-
Roles and restricted pages
Members-only sections, internal pages, and editors who can only reach what they should.
-
Built for search engines
Readable URLs, per-page titles and descriptions, robots settings, an automatic sitemap, and redirects that keep old links working when a page moves.
-
Languages and sites
Run several languages, several domains, or several separate sites from one installation.
-
Menus and shared content
Build navigation in the admin and reuse content across every page, the way this siteβs own footer does.
-
JSON API
Read your pages and elements as JSON β for a mobile app, a search index, or a separate frontend.
How Alchemy is put together
Pages & Page Layouts
Each page follows a layout that decides which blocks it can hold. Freedom where you want it, guardrails where you donβt.
Elements
The building blocks. Define one once, reuse it on any page, render it with your own template.
Ingredients
The fields inside a block: text, rich text, pictures, links, dates. Each knows what it is, so editors get the right input for it.
Curious how this page works?
This whole site is an Alchemy site β none of it is hardcoded. On any block, choose βHow this block is builtβ to see its real definition, then jump straight into the admin and change it.
Have a go
The admin is open: sign in as demo / demo123 and edit anything you see here.