DEV Community

Alex Spinov
Alex Spinov

Posted on

Payload CMS Has a Free TypeScript Headless CMS With Code-First Config

Payload is a modern headless CMS built with TypeScript. Unlike Strapi, it uses a code-first approach — your schema IS your TypeScript code.

What You Get for Free

  • Code-first config — TypeScript schemas, not GUI clicks
  • REST + GraphQL APIs — auto-generated
  • Admin panel — React-based, fully customizable
  • Authentication — built-in auth with JWT
  • Access control — field-level permissions
  • Versions and drafts — content versioning
  • Self-hosted — deploy anywhere

Define a Collection

import { CollectionConfig } from 'payload/types';

export const Posts: CollectionConfig = {
  slug: 'posts',
  fields: [
    { name: 'title', type: 'text', required: true },
    { name: 'content', type: 'richText' },
    { name: 'status', type: 'select', options: ['draft', 'published'] },
  ],
};
Enter fullscreen mode Exit fullscreen mode

Quick Start

npx create-payload-app
Enter fullscreen mode Exit fullscreen mode

Payload vs Strapi

Feature Payload Strapi
Config Code-first GUI-first
TypeScript Native Added later
Custom admin React components Limited

Need a CMS setup? Check my work on GitHub or email spinov001@gmail.com for consulting.

Top comments (0)