01 / Structural code-first integrity
Your code is the source of truth.
Define collections, permissions, and nested block objects in raw TypeScript. Postgres schemas update safely on server boot — no fragile click-ops sync pipelines.
Open-core · TypeScript-native
Define collections, permissions, and dynamic block layout trees in raw TypeScript. Auto-compiles PostgreSQL schemas on boot.
Install in your Nuxt app
Your `vueload.config.ts` compiles into typed Postgres tables and a production-ready admin experience — no code generation step.
const Pages = defineCollection({
slug: "pages",
fields: [
{ name: "title", type: "text", required: true },
{ name: "slug", type: "text", unique: true },
{
name: "layout",
type: "blocks",
blocks: [HeroBlock, ContentBlock],
},
],
access: {
read: () => true,
create: canWrite,
update: canWrite,
},
});Collections, access rules, and block trees defined once in TypeScript.
Collection
Pages
Layout blocks
Light-themed studio rendered from the same schema — edit pages, media, and blocks instantly.
See how Vueload compares to React-first Payload CMS and GUI-first Strapi when your stack is Vue 3 and Nuxt 4.
| Capability | Vueload | Payload CMS | Strapi |
|---|---|---|---|
| Vue 3 / Nuxt 4 native integration | First-class | React-first | GUI-first |
| Code-first TypeScript schema | Yes | Partial | No |
| Auto PostgreSQL schema sync on boot | Yes | Manual migrations | GUI-driven |
| Polymorphic layout blocks | Yes | React blocks | Dynamic zones |
| Self-hosted & portable | Yes | Yes | Yes |
| Light admin studio included | Yes | React admin | React admin |
01 / Structural code-first integrity
Define collections, permissions, and nested block objects in raw TypeScript. Postgres schemas update safely on server boot — no fragile click-ops sync pipelines.
collections: {
pages: {
fields: [
{ name: "title", type: "text", label: "Collection slug" },
{ name: "slug", type: "text", label: "Field type" },
{ name: "layout", type: "blocks", blocks: [HeroBlock] },
],
access: { read: () => true, create: canWrite },
},
}02 / Polymorphic blocks builder
Stack Hero, Content, and custom blocks natively. Vueload maps nested JSONB structures directly to your Nuxt frontend components.
vueload.config.ts
access: {
create: canWrite,
read: () => true,
},01 / Structural code-first integrity
Define collections, permissions, and nested block objects in raw TypeScript. Postgres schemas update safely on server boot — no fragile click-ops sync pipelines.
02 / Polymorphic blocks builder
Stack Hero, Content, and custom blocks natively. Vueload maps nested JSONB structures directly to your Nuxt frontend components.
03 / Zero obstacles extensibility
Vueload acts as structural middleware — write standard Vue and Nuxt compositions in your workspace with zero rendering interference.
Register for the developer preview. Include your stack, schema architecture, and deployment target.