v>

One events collection. RSVPs and tickets included.

Each event is a single entry with an Event field that bundles the date, location and capacity together. The Events plugin handles free RSVPs and registration on that same entry; add Commerce and it can sell paid tickets through checkout too — no separate collections for venues, tickets or sign-ups.

Needs: core + Events (+ Commerce for paid tickets)

collections/

1 collection · RSVP + tickets built in

One profiles collection. Everything else nests inside it.

Profiles is the only top-level collection, linked to site accounts through a User field once User Management is enabled. Posts is a sub-collection on each profile, reactions nest one level deeper under posts, and follows is a second sub-collection on profiles pointing at other profiles — all set to user_submit, so members write to them directly.

Needs: core + User Management

collections/

1 collection · nested sub-collections · public write via forms

from 'birkly' get 'templating' with 'connection'

Templates that read like English. Connections that take one line.

Connect an existing site or build new pages — without being locked into any framework.

A templating language you already speak

Loops, fields and conditions written close to plain English. Your team reads it on day one — and so does any MCP-connected agent, without a schema briefing.

you write
﹛for each entry in 'blog' ordered by newest limit 3﹜
  <article>
    <h2>﹛title﹜</h2>
    <p>﹛'excerpt'﹜</p>
  </article>
﹛endfor﹜
visitors get

Shipping small, shipping often

Our approach to building fast without breaking what already works.

Why we removed the build step

Every dependency is a promise someone else has to keep.

Notes on making things well

Thoughtful posts, shipped often — and never rewritten for a framework.

One template, every entry

Write blog-post.html once. Every entry in the collection renders through it — no page per post, no regeneration, no deploy. Change the template and all of them change.

you write once
// blog-post.html
﹛from 'blog' get entry by slug﹜
  <h1>﹛title﹜</h1>
  <time>﹛created_at format "F j, Y"﹜</time>
  ﹛'body'﹜
﹛endget﹜
serves every post

/blog/shipping-small

/blog/no-build-step

/blog/making-things-well

…and every entry you add tomorrow.

Connect a site you already have

One script tag on any page, anywhere — then whitelist the domain in admin. No migration, no framework, no rebuild. Or drop your files into the project folder and get server-side rendering for free.

you write
<!-- anywhere in your existing site -->
<script src="/birkly-client.js">
</script>
what happens

Domain whitelisted

6 collections available

Templates resolving

for each entry in 'hub' with 'status' = 'available'

Official plugins, packs, and extensions.

The Birkly Hub is the live catalog for Commerce, Automation, Events, Studio, and more. The core stays free — you only reach for the Hub when you need it.

Explore the Hub

Loading Hub catalog…