Nick

What is Nick? 

Nick is a (nearly) headless CMS built with Node.js that provides a RESTful hypermedia API. It is created by Rob Gietema, the original creator of Volto (the React frontend for Plone). The API is compatible with the REST API of the Plone CMS and can be used together with the web frontend Volto.

Nick is a Node.js-based backend that fully implements the plone.restapi specification. This makes it a drop-in replacement for the standard Plone backend when paired with the Volto frontend. Because Rob authored both Volto and the original plone.restapi, he had intimate knowledge of the API contract. Nick proves that Plone’s architectural model—content hierarchies, behaviors, workflows, security, and versioning—is robust enough to be cleanly reimplemented in a different runtime without losing functionality.

The name “Nick” is a playful nod to “Nearly Headless Nick” from the Harry Potter series—a ghost whose head was only partially detached. In CMS terminology, it’s a wink at the fact that while Nick removes the traditional template-driven frontend (the “head”), it still retains core CMS capabilities. You simply bring your own frontend, most commonly Volto, though any application that speaks the RESTful hypermedia API will work.

Why Nick Complements Plone

Nick isn’t designed to replace Plone. Instead, it offers an alternative stack for projects that prioritize simplicity, a unified JavaScript ecosystem, or a fresh start without legacy compatibility layers. Built from the ground up with PostgreSQL and modern Node.js, Nick implements the same API as Plone but in roughly 10,000 lines of code, compared to Plone’s 1M+ lines. This ratio reflects decades of enterprise features, backward compatibility layers, and ecosystem growth in Plone—not shortcomings. Nick simply keeps the proven concepts and starts fresh.

When to Consider Nick:

  • You want a full JavaScript/TypeScript stack (backend + Volto frontend)
  • Simpler deployment with Node.js and PostgreSQL is a priority
  • You’re starting a new project and don’t need existing Plone add-ons or legacy content migration
  • You value a lean, highly readable codebase with modern async runtimes and built-in AI/RAG capabilities

When to Stick with Plone:

  • Your project requires specific collective.* packages or deep ecosystem integrations
  • You need to migrate existing Plone content or rely on battle-tested enterprise features
  • Your organization is already standardized on Python/Plone workflows
  • You benefit from the vast, mature support network around Plone’s long-standing infrastructure

How to Get Involved

Under the Foundation’s stewardship, Nick will follow standard Plone community governance practices. The project remains freely available under the MIT License. Developers, content architects, and frontend engineers are encouraged to explore the codebase, contribute patches, file issues, or help expand documentation.

Source Code: github.com/plone/nick

Documentation: nick.docs.plone.org

Live Demo: nick.demo.plone.org

Issue Tracker & Discussions: github.com/plone/nick/issues