A headless CMS with forms built from your schema
In Tessryx, content is a set of records. A record is one item, like a menu or a product, and it has to fit a shape you described, meaning which fields it has and what each one can hold. A save that doesn't fit is turned away with the field named.
Free holds 100 records and Pro 1,000; Agency goes to 10,000. Past the limit you can still edit and unpublish, and live records keep serving.
That same description lays out the form your team edits in, so there's no admin screen to keep in step with the data. Publish a record and a copy goes up as JSON at a public address, where any site or app can read it, hosted on Tessryx or not.
Try it
A record and its public JSON
schema daily-menu@published
This record is saved and published. Change something and save it.
GEThttps://
HTTP/2 200
content-type: application/json
cache-control: public, max-age=60
{ "title": "Today's specials", "specials": [ { "name": "Sourdough loaf", "price": 6.5 }, { "name": "Cardamom bun", "price": 3.75 }, { "name": "Seeded rye", "price": 7 } ] }
Today's specials
- Sourdough loaf$6.50
- Cardamom bun$3.75
- Seeded rye$7.00
How it works
- 01
Your AI writes the schema
Tell it what the content is and it writes the description in standard JSON Schema, which plenty of other tools understand too.
- 02
Your team edits in Content Studio
Each record opens in a form built from its schema, with problems marked as people type.
- 03
Saving and publishing are separate
Saving keeps your working copy. Publishing copies it to its public address, and the editor flags a record whose saved copy is newer than the live one.
- 04
Pages read it however suits them
A page can be built from a record on the server, or fetch the published JSON in the browser.
Questions
Can I query across records like a database?
There's no query language and no joins. Records work more like DynamoDB: you pick slugs and folders to suit how pages will read them, list a folder by date or name, and count what's directly in any folder. A workflow can write one item into several folders in one go (a fan-out write), so each list a page needs is already there to read.
Is there version history for records?
Not for records themselves, which keep a saved copy and a published copy. The pages, logic and schemas around them keep their last ten versions.
Under the hood
The technical details
- record
- One JSON document bound to a schema (its published version, or its latest draft), with a slug, name, description and a server-stamped content hash.
- folders
- Slug segments are folders, up to 11 deep, with exact counts of what is directly inside each one.
- unversioned
- A record keeps one saved copy and one published copy; there is no version history for records.
Related features
A public JSON URL for every published record
Publishing a record puts its JSON at a public URL, served from a global network. A site or app hosted anywhere can load it from there.
Forms generated from JSON Schema
Each form in Tessryx is built from the schema of the data it edits. Field labels and help text come from there, along with the control each field gets.
Read and write records
A workflow can look up a record, save a new one, list a folder or count what's in it. A sign-up form, for example, posts to a route whose workflow saves the record.
Content types defined with JSON Schema
Describe a kind of content once, for example a menu item with a name and a price. Tessryx uses that to check the data and to lay out the form people edit it in.