Payload development for teams that want to own their CMS in TypeScript
Payload is the right choice when your content model and application logic belong in code you control. When a hosted CMS serves you better, we will say exactly that.
Oronts engineers Payload systems from Munich: headless content backends, custom applications built on the Payload framework, and admin tooling that runs inside your own Next.js app. Config as code, your database, your hosting, no vendor lock-in.
Choose Payload, the open-source TypeScript-native headless CMS and application framework, when your content model and business logic are the product and you want to own them in code. It fits when a hosted CMS becomes a ceiling: you define collections, fields, access control, and hooks as TypeScript config, expose them over REST, GraphQL, and a local API, and run the whole thing inside or alongside your own Next.js app. You pick the database, Postgres or MongoDB through adapters, you self-host, and you keep the source. The trade is that it is a framework, not a turnkey product, so it rewards teams that have or want engineering ownership. Where a hosted CMS covers the need, we will tell you plainly in the first call.
TypeScript-native and config as code: your schema lives in your repository
One backend, three APIs: REST, GraphQL, and a local API in the same codebase
You own the source, the database, and the hosting, no vendor lock-in
Next.js-native admin that can run inside your existing application
Proofbeforepromises
TypeScript-native, config as code
Capability
Collections, fields, access rules, and hooks are defined as typed configuration in your codebase. The content model is version-controlled and reviewed like any other code, not clicked together in a dashboard you cannot diff.
You own the code and the database
Capability
Payload is open source and self-hostable. You choose Postgres or MongoDB through official adapters, the data stays in your database, and there is no platform that can hold your content hostage.
Self-hosted, no lock-in
Capability
Deployed into your own cloud or container platform with no mandatory vendor host and no per-seat or per-record platform fee. Any competent TypeScript or Node team can pick the project up after handover.
Next.js-native admin and APIs
Capability
The admin UI and the API layer can run inside an existing Next.js application, so content tooling and your app share one deployment. REST, GraphQL, and the local API expose the same data to any frontend.
HowaheadlessPayloadsetupfitstogether
One content core, exposed once through GraphQL and REST, consumed by every frontend and backend.
Content core
Collections & globals
Access control
Media library
Postgres / Mongo
API layer
GraphQL
REST
Local API
Frontend
Next.js web
Mobile app
Storefront
Backend
Microservices
Jobs & webhooks
Integrations
Editors work in the Payload admin while collections, access control, and media sit in one core on your database. That core is exposed once through GraphQL and REST, so your Next.js site, mobile app, and storefront read the same content as your services, jobs, and integrations. You own the schema and the code.
WhatwedowithPayload
Payload implementation
Complete content backends: collection and field architecture, access control, drafts and versioning, media handling, and a React or Next.js frontend connected over REST, GraphQL, or the local API.
Custom apps on Payload
Payload is an application framework, not only a CMS. We build internal tools, portals, and product backends on it, using its access control and hooks as the backbone instead of stitching together a separate API layer.
Next.js integration
Payload running inside your existing Next.js app, sharing one deployment and one TypeScript codebase, so editors and your application use the same backend with no separate service to operate.
Database and adapter setup
Postgres or MongoDB chosen on the facts of your case and wired through the official Payload adapters, with migrations, schema design, and access patterns built for the data you actually run.
Migration to Payload
From a hosted CMS, a legacy headless backend, or a custom content store to Payload, with content modeled cleanly as collections and data moved through repeatable, verifiable imports rather than one-off scripts.
Self-hosted deployment
Deployment architecture, observability, and upgrade paths for teams that run Payload in their own cloud, so the system is operable by your engineers, not dependent on us to keep it running.
Fixed scope
Payload architecture review
Two to four days: we review your Payload installation or your plans for one, assess collection design, access control, data flows, and scaling risks, and deliver a written engineering assessment with a concrete roadmap.
Fixed price, scoped to your system. Request the exact quote.
Content and applications must run in your region and support Arabic.
Self-hosted Payload in your region, your Postgres or MongoDB, native Arabic and full RTL, and you own the schema and the code.
HowwedeliverPayload
From fit check to a launched, owned system: scoped, built, and supported by senior engineers, with the schema and the roadmap in your hands.
01
Discovery & fit
We scope your content model, application logic, and integrations, and confirm Payload is the right fit before committing. If a hosted CMS serves you better, we say so here.
Content model
App logic
Integration map
02
Schema & collections design
We design the collection and field architecture, access control, and hooks as typed config on top of Payload, with the database choice made on facts.
Collections
Access control
DB adapter
03
Build
We build the Payload backend, the admin tooling, and the frontend over REST, GraphQL, or the local API, with tests and documentation so your team can read and extend it.
Backend
Admin UI
Frontend
04
Integrate
We connect the systems your case needs, search, media storage, auth, payments, and any external data, wired cleanly through Payload hooks and the API.
Search
Media
Auth & APIs
05
Launch & handover
Staged launch with content migration, testing, and a cutover plan, then handover of the source, the schema, and a runbook so you operate it without us in the loop.
Migration
Testing
Handover
PayloadasaCMSandanapplicationframework
Payload is two things at once, and which one you lean on shapes the build.
Open source and self-hostable
Payload is open source and runs on infrastructure you control. You self-host it in your own cloud, pick Postgres or MongoDB through official adapters, and keep full source and full data ownership. There is no mandatory vendor cloud and no platform that gates running or changing what you build.
A framework, not only a CMS
Payload defines collections, fields, access control, and hooks as TypeScript config, and exposes them over REST, GraphQL, and a local API in the same process. That makes it a backend for applications, not only a place to edit content. The decision is whether you need a content tool or an application backend, and we engineer both and tell you honestly which fits your case.
Next.js-native by design
Payload can run inside an existing Next.js application, so the admin UI, the API, and your app share one codebase and one deployment. For teams already on Next.js this removes a separate service to host and operate. We design the integration so content tooling and your application stay one system, not two that drift apart.
HostedCMS,self-runPayload,orPayloadwithOronts
The same framework gives very different outcomes depending on who engineers it. This is where a hosted or SaaS CMS stops, where self-running Payload leaves you, and what changes when we build and own the hard parts with you.
Scroll sideways to compare all three columns.
Hosted / SaaS CMS
Payload (self-run)
Payload + Oronts
Full source and data ownership
Content model as version-controlled code
TypeScript-native config and types
Choice of database (Postgres or MongoDB)
Self-hosting without a per-record platform fee
Deep custom logic (access rules, hooks)
Build it yourself
Runs inside an existing Next.js app
Production architecture and observability
Vendor-run
Your responsibility
Senior engineering team behind it
If you have it
A check means the capability is there out of the box. A minus means it is partial or needs work. Text cells say what it actually takes.
WherePayloadearnsitsplace
Concrete content and tooling situations a TypeScript-native headless CMS plus our engineering solves.
Engineering
You want a CMS that lives in your TypeScript codebase, not a separate hosted product you integrate against.
Payload running as code in your Next.js app, with typed collections, access control and a Git-versioned schema.
Content teams
Content has to feed a website, a mobile app and other surfaces from one source.
A headless content core with GraphQL and REST, so every frontend reads the same governed content.
Operations
Internal tools and admin panels are scattered across spreadsheets and one-off apps.
A custom admin on Payload with roles and audit, consolidating internal tooling on one TypeScript stack.
Mittelstand CTO
You are on a hosted CMS that locks content behind a vendor and bills per seat.
A migration to self-hosted Payload you own, with your content and schema in your repository and your cloud.
Compliance / DPO
Content and user data must stay in the EU with a signable processing agreement.
Payload deployed in your EU environment with an AVV (Art. 28 GDPR) and data residency under your control.
Multi-market teams
You publish in several languages and regions and localization is bolted on awkwardly.
Localized collections in Payload, modeled for multi-language content from the start, including RTL.
MigratingyouontoPayload,instages
Moving content and tooling onto Payload is a sequence, not a switch. We migrate you onto self-hosted Payload in defined stages, each verified against a copy of production before it touches what your editors or users see. The result is a TypeScript content system you own end to end, with your schema in your repository.
1
Current-state audit
We map your existing content in full: content types and relationships, media and assets, users and roles, the frontends that consume the content, and any custom editorial logic. The output is a clear inventory of what migrates to Payload cleanly, what is remodeled as collections, and what is retired.
2
Model collections and access in Payload
We model your content as typed Payload collections and globals, with access control, validation, and the editorial workflow your team actually uses. Decisions like localization strategy and which fields are versioned are made here, on facts, before any build work starts.
3
Build the backend, admin, and frontends
We build the Payload backend, the typed admin your editors work in, and the GraphQL and REST layer your frontends read, inside your Next.js app. Each piece ships with tests and documentation so your team can read and extend it, not just run it.
4
Staged content migration
We migrate content in increments through idempotent scripts, mapping old fields to the new schema and bringing media across one content type at a time. Every increment is verified against a copy of production before the next begins, so a re-run is safe and nothing is lost in transit.
5
Validation and controlled cutover
We validate content, media, access, and the consuming frontends against criteria agreed with you, then run a controlled cutover with a defined fallback. We stay on hand through the first publishing cycle, and you keep the source code, the schema, and the runbook to operate it without us in the loop.
Whatyourbuyingcommitteeneedstocheck
The ownership, hosting, and support facts a procurement and IT review will ask about, answered up front and without fabricated certifications.
Code ownership
Built on open-source Payload. Every collection, custom app, and integration we write is yours: full source, in your repository, with no Oronts license gate on running or changing it.
Hosting in your cloud
Deployed into your own AWS, Azure, GCP, or container platform. Payload is self-hostable by design, so there is no mandatory vendor cloud and no per-record platform fee.
Database choice
Postgres or MongoDB through the official Payload adapters, chosen on the facts of your case and run in your own database under your control. Your content stays where you put it.
Data and AVV
Your content and any personal data stay in your database. We sign a German Auftragsverarbeitungsvertrag (AVV) and design GDPR-conscious data flows where we touch personal data.
Support
Founder-led, senior-only delivery from Munich. After handover, an optional technical retainer covers maintenance, upgrades, and on-call to an agreed SLA target. No retainer is required to keep running what you own.
Exit
Because it is standard Payload plus documented TypeScript config, any competent Payload or Node team can take over. We hand off source, tests, deployment docs, and architecture notes so leaving us is never a rebuild.
Whoownswhat
How responsibility splits across the delivery chain on a Payload engagement.
Responsibility ownership across the delivery chain
Responsibility
Oronts
Your agency / partner
You
Cloud provider
Payload build and custom code
Oronts owns Payload build and custom code
–
–
–
Source code and IP
–
–
You owns Source code and IP
–
Hosting and infrastructure
–
–
You owns Hosting and infrastructure
Cloud provider owns Hosting and infrastructure
Content and customer data
Oronts owns Content and customer data
–
You owns Content and customer data
–
Security and patching
Oronts owns Security and patching
Your agency / partner owns Security and patching
–
–
Acceptance and sign-off
–
–
You owns Acceptance and sign-off
–
Incident response
Oronts owns Incident response
Your agency / partner owns Incident response
–
–
WhenPayloadisnottherightcall
A small marketing site with a handful of pages and no custom logic: a hosted CMS or a static setup ships faster and costs less to run than a self-hosted framework.
A team with no engineering capacity and no plans to acquire it: Payload rewards code ownership, and without a developer to run migrations and deploys, a managed product serves you better.
A pure off-the-shelf need where standard content types and a vendor editor already cover the case: paying for a framework's flexibility only makes sense when you will actually use it.
Funding programs such as Digitalbonus Bayern may cover part of eligible digitalization projects; Oronts can support with the technical project description and application preparation.
Payloadquestions,answereddirectly
Ownership and control. Payload is a TypeScript framework you self-host, not a hosted product: your content model lives in your codebase as typed config, your data sits in your own Postgres or MongoDB, and you own every line. The price is that you need engineering. If you do not have custom logic or a model worth owning in code, a hosted CMS serves you better, and we say so in the first call.
Both. Payload defines collections, access control, and hooks as TypeScript config and exposes them over REST, GraphQL, and a local API, which makes it a backend for applications, not only a content editor. We build internal tools, portals, and product backends on it where that fits, and a plain content backend where that is all you need.
Payload supports both through official adapters, so the choice is made on the facts of your case: relational structure and reporting needs lean Postgres, flexible document shapes lean MongoDB. We pick on your data and access patterns, not on a default, and the project runs in your own database either way.
Yes. Payload is Next.js-native and its admin UI and API can run inside an existing Next.js application, so content tooling and your app share one codebase and one deployment. For teams already on Next.js this removes a separate service to host and operate. We design the integration so the two stay one system.
Your team can: everything ships as standard Payload plus documented TypeScript config, with tests and a runbook. If you want us to maintain it, that is what the technical retainer covers. Because it is open source and self-hosted, any competent Payload or Node team can take over, so leaving us is never a rebuild.