Why I Tried It
An experiment where I customized the open-source Payload CMS into a flexible headless CMS with dynamic collections, custom fields, users, and Cloudflare deployment.
What I Learned
Fully Customized Headless CMS Built on Payload CMSI wanted more control over my CMS.Instead of building a completely new CMS from scratch, I started with Payload CMS, an open-source headless CMS, and customized it around the way I wanted to manage content.The result is a fully customized headless CMS that combines the flexibility of Payload with a more visual and dynamic content-management experience inspired by platforms such as Webflow and Framer.Project Status: Completed and deployedFoundation: Payload CMSInfrastructure: CloudflareHosting Cost: $0 initial hosting costStarting With Payload CMSPayload provided the foundation for the project.Rather than reinventing authentication, collections, content management, and the underlying CMS architecture, I used the open-source Payload codebase as the starting point and built my own functionality on top of it.This allowed me to focus on the parts of the CMS that I actually wanted to change, customize, and extend.Dynamic CollectionsOne of the main features I added was a dynamic collection system.Instead of creating every content type manually in code, the CMS can be configured around dynamic collections and their fields.This makes it possible to create different types of content depending on the requirements of each project.Example Content TypesBlog PostsExperimentsCategoriesTagsUsersCustom Content TypesThe goal was to make the CMS behave more like a flexible content platform rather than a fixed application designed around a single website.Custom FieldsI also expanded the field system so that different content types can have their own configurable fields.The goal was to make content modeling more flexible and closer to the experience provided by modern visual website builders.Instead of having a CMS where every collection has a fixed structure, the system can adapt to different content requirements.This makes it easier to create new content models without constantly changing the underlying application structure.Inspired by Webflow and FramerPart of this experiment was inspired by the flexibility of platforms such as Webflow and Framer.I wanted the content-management experience to feel more dynamic while still keeping the advantages of a headless CMS.The goal was not to recreate Webflow or Framer completely.Instead, I wanted to take some of the flexibility that makes those platforms useful and combine it with the developer-focused architecture of Payload.The idea: Combine the flexibility of visual website builders with the control and developer experience of a headless CMS.User ManagementUsers are another important part of the CMS.I added user-related fields and functionality so that content can be associated with users and managed through the CMS.This provides a foundation for building more advanced functionality around:AuthenticationUser profilesContent authorshipPermissionsUser-generated contentRole-based functionalityThis also gives the CMS a foundation that can be extended as future projects require more sophisticated user workflows.Cloudflare DeploymentAfter building the CMS, I wanted to see how far I could take the deployment without adding infrastructure costs.I deployed the project using Cloudflare infrastructure and connected the required Cloudflare services to the backend.The goal was to keep the entire experiment lightweight while still having a real, publicly accessible CMS.The interesting part was getting the application and backend architecture working within Cloudflare's available platform and free-tier capabilities.A Zero-Cost Infrastructure ExperimentFor this experiment, I wanted to avoid spending money on infrastructure.The project was built using open-source software and deployed using available free Cloudflare services and their applicable usage limits.That made it possible to build and deploy the CMS without purchasing a traditional server or paid hosting plan.Important: Free-tier services have their own limits and usage policies. This should not be interpreted as unlimited infrastructure.The goal was simply to see how much could be built and deployed without an initial hosting bill.Why Build My Own CMS?There are already many excellent CMS platforms available.So, why build another one?For me, this experiment was mainly about control and learning.I wanted a CMS that could adapt to the way I work instead of having to adapt my workflow to an existing CMS.Building on top of Payload also meant that I could keep the underlying system open-source and developer-friendly while adding the features and workflow I wanted.What I LearnedThe biggest lesson from this experiment was that building a CMS is not just about creating an admin panel.A real CMS involves many interconnected systems, including:Content modelingRelationshipsAuthenticationUsersPermissionsAPIsStorageDeploymentCachingValidationInfrastructureStarting with an established open-source project such as Payload made it possible to focus more of my time on customization and product-specific functionality rather than rebuilding every foundational CMS feature from scratch.Cloudflare also made the deployment side of the experiment particularly interesting.It allowed me to explore running the application using modern cloud infrastructure without immediately paying for traditional hosting.The ResultThe final result is a customized headless CMS built around Payload CMS with:Dynamic collectionsCustom and configurable fieldsUser fields and user managementHeadless content managementA workflow inspired by Webflow and FramerCloudflare-based infrastructurePublic deploymentOpen-source foundationsZero initial hosting costThe project gives me a flexible CMS foundation that I can continue extending as I build more experiments and websites.What This Experiment Gave MeThis experiment gave me a much better understanding of how modern headless CMS platforms are structured and how an open-source CMS can be transformed into something much more tailored to a specific workflow.Rather than starting from zero, I was able to take an existing open-source foundation, reshape its content-management experience, introduce dynamic content modeling, and deploy the resulting system on modern cloud infrastructure.The result is not intended to replace every existing CMS.It is a CMS built around the way I want to work.Experiment StatusCompleted and DeployedThe CMS is now running as a working infrastructure that I can continue extending as I build new experiments, websites, and custom digital experiences.This project started as an experiment in customization and became a reusable foundation for future work.
What Worked
Core implementation works effectively in testing.
What Didn't Work
Minor edge cases identified during stress testing.
Conclusion
Documenting findings as part of open learning.