Personal · 2026

Stencil

open source
  • Next.js
  • TypeScript
  • AI agents
Stencil editor with a heading selected and its typography settings
app.sociona.app/studio/free/new
2026

A local-first, open-source visual editor for social graphics, carousels and video scenes, built so people and AI agents can edit the same structured design. Extracted from the editor I built inside Sociona.

read how it was built ↓
about.txt
role
Creator
for
Personal
stack
Next.js, TypeScript, AI agents
when
2026

How Stencil was built01 / 08

A carousel editor inside Sociona

It began as one feature of Sociona: a carousel and image editor on a Fabric.js canvas, with an engine plan written the same day. The plan fixed the big decisions early: Fabric is only a renderer, a versioned JSON document is the source of truth, and people, agents and workflows share one small command API.

scroll ↓ or click a card

The brief

Design editors people know are hosted, account-based and closed, with AI added on the side. I wanted a capable canvas that works without an account or a backend, and whose document is something an agent can understand and safely change. It started as a feature of Sociona and I pulled the reusable core out so others could use it, embed it and extend it.

facts.txt
Problem
A good design canvas that agents can also operate
Audience
Creators, and developers building editor or agent tools
Origin
Extracted from the Sociona studio
Status
Open source (MIT), early
Demo
Free public studio, no sign-up
Timeline
Jul 2026 to now

How I approached it

  1. 01
    A document, not pixels

    Pages and elements live in a typed, versioned document validated with Zod. Fabric.js draws and manipulates it, but it is a replaceable renderer, never the source of truth.

  2. 02
    Every edit is a command

    Moving, styling, grouping and deleting are validated commands with undo. A person and an agent use the same door, so agent edits land in the same history.

  3. 03
    Keep the host outside

    Storage, assets, the assistant, version history and publishing come in through a StudioHost boundary. The canvas does not know if it runs locally, in a hosted product or in a desktop shell.

  4. 04
    Do the heavy work in the browser

    Projects and fonts live in IndexedDB, video is encoded locally and background removal runs in a worker, so the standard editor needs no server and no key.

  5. 05
    Stay a normal design tool

    Agentic features extend direct manipulation instead of replacing it. The editor has to be good with no agent attached.

A look at the editor

text and typography
text and typography
elements
elements
canvas backgrounds
canvas backgrounds
fonts
fonts

How it is different

Most design editors are hosted products: you sign in, your work lives on their servers, and any AI feature is bolted on to a format built for people. They are not made to be embedded or to be driven safely by someone else's agent.

Stencil starts from different assumptions:

  • Local-first. No account, no backend and no AI provider needed for the standard editor.
  • A document model designed for agents, with validated commands and a shared undo history.
  • Embeddable. Storage, assets, assistants, versions and publishing are host interfaces you can fill in.
  • Open source under the MIT licence, so it can be read, forked and extended.

What it runs on

What got in the way

What came out of it

Stencil is released as an early open-source project with a free hosted demo. These numbers describe what was built. There are no usage figures yet.

What I learned

  1. Design the document first. The format ended up mattering more than the canvas, because everything else (undo, agents, export) hangs off it.
  2. Make commands the only door. Giving people and agents the same entry point is what made agent edits safe and undoable.
  3. Draw the host boundary early. Pulling a feature out of a product is far easier if the product was never allowed to leak in.
  4. Look at what you built. Tests and types did not tell me whether the canvas looked right.

Stencil: a design canvas people and agents share

Started as the editor inside Sociona, then extracted and open-sourced as its own product.

Try Stencil

No sign-up for the free demo. The source is on GitHub under the MIT licence.

up next →
socialloop live

SocialLoop

2025–2026
closed source

Events · Realtime · Next.js

Event networking with games instead of icebreakers. Attendees join with a code or QR, then play bingo, scratch cards, social deck and pair matching that get them talking, while organizers run check-in, announcements, surveys and analytics. A web dashboard and an Expo guest app on a Convex backend.

say-hi.txt

Want something like Stencil?

Tell me what you're making and I'll tell you how I'd build it.

Overview