Payload has been bootstrapped and moonlit since starting development in 2019. We spent two years in stealth, using it as dogfood at our agency, and then finally released it to the world in 2021. It's been a lot of long hours and unpaid work—a passion project, born out of necessity. We wanted to create a CMS that we didn't absolutely hate working with.
Fast-forward to today. We could not be more excited to announce our first fundraise - $4.7M, led by Gradient Ventures, Google’s AI-focused venture fund. The round also included MongoDB Ventures, Y Combinator, SV Angel, Grand Ventures, Exceptional Capital, and other notable angel investors.
This funding finally allows the Payload team to go full-time on a product that we love and truly believe in. Our capacity and throughput has already skyrocketed, and our team is expanding. We're gearing up for more features and more effective community engagement—all with the goal of improving the CMS developer experience.
As you may know, Payload, like many other projects before it, was born out of a digital design agency called TRBL. We think that one of the reasons Payload shines is that it arose from real-world experience, and we don't want to lose sight of that by going full-time and not using it in production ourselves any longer.
So now that we've got funding, we're going to double-down on our efforts and bring everyone from TRBL over to the Payload team full-time. They're going to ensure that the real-world experience which shaped Payload continues to permeate its DNA. And we're also going to leapfrog past much of the typical hiring and onboarding slog that newly funded startups experience.
We've been shipping features pretty quickly, but we're going to take it up a notch. If you're interested in reading about what we have planned, you can stop by our GitHub Discussions page and view all entries marked as planned
. The Payload team is going to start tackling these planned items at a new pace.
This funding also means that you can expect a heightened level of engagement from our engineers on Discord, GitHub, and other community outlets like Reddit. We want to promote and encourage discussion. We want to take part in feedback provided to us and continue to shape the trajectory of Payload alongside of its users.
However, this funding does not mean that Payload will become paid. Payload will always be free and open-source. Through offering Enterprise plugins like SSO and premium support via SLAs, as well as via launching Payload Cloud, we'll be able to build a profitable and sustainable business while keeping Payload open-source.
We're going to shine a spotlight on a few bigger features through the remainder of this week, but in the meantime, here are a handful of quality-of-life features that are available in Payload, released since our last minor version:
Payload's UI will now smartly leverage its User Preferences API to extend its Tabs field, storing and remembering which tab was accessed last on a user-by-user basis. So when an editor returns to the UI, they can pick right back up where they left off.
In order to make it easier to build custom authentication strategies, you can now completely control the admin UI logout
workflow with your own components—including the routes, views, and even the button itself. This was a completely community-driven feature done by finkinfridom and we're super pumped about it.
Payload has supported document duplication since it launched in beta, but now you can build a beforeDuplicate hook to be able to "modify" a document's data before it's duplicated. This is super helpful because you can now ensure that any unique data is modified subtly before the new document is created - like slugs, titles, and more.
Now, Payload configs and plugins can declare "root" Express endpoints directly on the base Express router, bypassing all Payload middleware. This is helpful if you're adding functionality via your Payload config, but don't want to mount your endpoint within Payload middleware.
Another feature meant to allow custom auth strategies to be created more effectively, you can now leverage a beforeLogin
hook within auth-enabled collections. This feature comes from our community as well - big thanks to dsod for the work on this one!
Thanks to community member thgh, the textarea
field's height now responds dynamically to the content that it contains, up to 90vh
. Super cool little trick. Interesting how it was built.
Since our last minor release (1.1.1
), the Payload team and its community have shipped over 40 performance enhancements and bug fixes. That's a lot. Huge shoutout to our community. Every day we're blown away by the level of open-source engagement we're seeing and we know that this is only the beginning.
Of specific note is a recent behind-the-scenes optimization that ensures that field values, and their corresponding DOM updates, are always in sync before a user has a chance to type further. Simple thing, but I personally spent a good chunk of time over-engineering a solution to the problem—only to have thgh come in with a super simple and elegant fix.
All of these fixes and optimizations are available now, published as 1.1.25
.
Even after the remainder of this first Launch Week, you can expect a ton more from the Payload team in the future and it's an incredibly exciting time for us. Thank you to our investors, our community, and our team. We're pumped about the future.
Getting started is easy—and free forever. Just fire up a new terminal window and run the following command: