Venda
Built entirely on Cloudflare

The headless CMS that lives on the edge

Venda pairs a Nuxt admin with a Workers API, D1 for content, R2 for media, and KV for cache โ€” global by default, with nothing to run and nearly nothing to pay.

Nuxt 4 Workers D1 R2 KV Workers AI ready
๐Ÿ—‚๏ธ

Flexible collections

Define collections and give each one a JSON schema. Entries store JSON, so your model can evolve without a migration every time.

โšก

Edge-fast delivery

Published content is served from public API routes and cached in KV, close to every reader on Cloudflare's network.

๐Ÿ–ผ๏ธ

Media on R2

Upload images and files straight to R2 with no egress fees, served back through the API with the right content type.

๐Ÿ”

Signed sessions

Admin access uses HMAC-signed, KV-backed cookie sessions โ€” and slots cleanly behind Cloudflare Access when you want SSO.

๐Ÿงฉ

Clean content API

A small, predictable REST surface for collections, entries, and media. Drafts stay private; only published entries go public.

๐Ÿค–

Workers AI ready

An optional Workers AI binding drops in for summaries, tags, or alt text โ€” without changing the content model.

From zero to published in four steps

The whole loop runs on the same edge platform.

01

Sign in

Log in to the admin with a signed session cookie.

02

Create a collection

Name it, give it a slug, and describe its shape.

03

Write entries

Author, edit, and publish JSON entries with live status.

04

Deliver

Read published content from the cached public API.

Nothing to provision. Nothing idling.

Venda is a Nuxt app and a Worker, backed by D1, R2, and KV. Deploy it to your own Cloudflare account and it scales to zero when no one is looking.

Launch the admin โ†’