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 the publishing pipeline
  • The absence of features became the product's identity
← Back to work