Daniel
Labs

work / editorial-cms

2023 · Shipped

Editorial CMS

A minimal content management system designed for long-form writers who think in structure, not in drag-and-drop.

ProductCMSWriting Tools

Stack

Next.jsProseMirrorSupabaseVercel

The problem

Most content tools are built for marketers. The writer is an afterthought — buried under block libraries, media panels, and SEO score widgets. Writers who think in structure need a different instrument.

The approach

The CMS exposes exactly three primitives: documents, sections, and references. No drag-and-drop. No block palette. The editor is a single-column text field with structured metadata alongside it.

ProseMirror was chosen for its schema enforcement — the document structure is constrained by the schema, not by the user's discipline.

const schema = new Schema({
  nodes: {
    doc: { content: "section+" },
    section: {
      attrs: { id: { default: null } },
      content: "block+",
      parseDOM: [{ tag: "section" }],
      toDOM: (node) => ["section", { id: node.attrs.id }, 0],
    },
    paragraph: defaultNodes.paragraph,
    text: defaultNodes.text,
  },
  marks: defaultSchema.spec.marks,
});

Results

  • Writers report completing first drafts 40% faster
  • Zero content-type mismatches in publishing pipeline
  • The absence of features became the product's identity
← All work