Chris Villa
banner
chrisvilla.bsky.social
Chris Villa
@chrisvilla.bsky.social
Building @puckeditor.com and @measured.co
probably the coolest bit of tech I've ever built
November 11, 2025 at 12:16 PM
Managing open source releases is hard, but we're working on improving it by reducing the size of each releases

Smaller releases mean:

1. Improved stability as bug are fixed more quickly
2.Rapid improvements as features are released in smaller chunks
3. Contributions merged more quickly
July 15, 2025 at 10:01 AM
what if you could infinitely extend your page builder for the perfect experience?

sneak peak of Puck's dedicated new plugin ui 👀
July 10, 2025 at 11:54 AM
Overrides are probably one of Puck's most powerful features, letting you add custom UI to the Puck interface ⚡️

Say you have a long list of components and need to filter them. Puck doesn't come with search, but it's easy to add one using the "components" override.
July 1, 2025 at 12:04 PM
🔍 Easily overlooked feature in Puck 0.19: the new `trigger` parameter to resolveData that provides context about why it was called.

This enables you to customise the behaviour of resolveData based on the context, like avoiding expensive async calls.

Neat!

Docs: puckeditor.com/docs/api-ref...
June 26, 2025 at 11:21 AM
If you're implementing RBAC, then Puck's permissions API can help you lock things down! 🔒

For example, specifying `delete: false` will prevent the user from deleting components.

You can do this globally, per-component, or dynamically based on current props.

Docs: puckeditor.com/docs/integra...
June 25, 2025 at 11:09 AM
Puck's new slots API is mind-blowingly powerful 🤯

The demo "template" component combines:

- a slot field for the content
- a custom field to select/save the slot data
- the resolveData API to load the slot data

Slot docs: puckeditor.com/docs/api-ref...
June 24, 2025 at 5:42 PM
If you need to customise action bar in Puck, you can use the `actionBar` override!

Combine this with the <ActionBar> component to extend the interface with custom actions and other behaviours.
June 19, 2025 at 2:26 PM
One of my favourite new features in Puck 0.19 is the useGetPuck hook.

It lets you access the internal Puck API without triggering a re-render. Great for performance!
June 18, 2025 at 4:40 PM
Little demo showing Puck changing the fields based on whether the parent uses CSS Grid.

Notice how the grid fields are removed from the layout section when moving the card.

You can achieve this using the "parent" param provided to the resolveFields API.

Docs: puckeditor.com/docs/api-ref...
June 18, 2025 at 11:19 AM
Reposted by Chris Villa
Puck 0.19 introduces the Slots API — the powerful successor to DropZones that lets you nest components using fields — along with several other new features.

Check out our latest video for a walk-through of the key features 👇
youtu.be/ZXRlB6Uugx8
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
youtu.be
June 12, 2025 at 8:01 AM
Mind blown by the 10x performance improvement in Puck 0.19. I knew it would be good, but this far exceeds my expectation!
June 5, 2025 at 12:11 PM
Reposted by Chris Villa
Puck 0.19 just got released!

What’s new?

🏗️ Nest components using slot fields for programmatic control
💽 Inject metadata into all components without context
⚡ Improved performance, reducing render times by 90%

puckeditor.com/blog/puck-019
June 5, 2025 at 12:06 PM
Back in Sept 2023, I announced Puck on Hacker News and went from 6 to 1.7k stars in 24 hours.

Now approaching 7k, I'm on a mission to hit 10k!

I can’t do this alone. If you love Puck please:

Upvote on HN: news.ycombinator.com/item?id=4411...
Star the repo: github.com/puckeditor/p...

Thank you! 🙏
May 28, 2025 at 2:38 PM
Reposted by Chris Villa
Back in Sept 2023, we announced Puck on Hacker News, and went from 6 to 1,700 stars in 24 hours.

Now approaching 7,000, and on a mission to hit 10k!

We can’t do this alone, so please:

Upvote on HN: news.ycombinator.com/item?id=4411...
Star the repo: github.com/puckeditor/p...

Thank you! ⭐️
May 28, 2025 at 1:20 PM
Just merged Puck's massive (7,000 line change) Zustand state migration, eliminating almost all unnecessary re-renders.

Selectors also coming soon to `usePuck`, so your own Puck components can remain performant, too!
March 19, 2025 at 1:20 PM
Reposted by Chris Villa
Yesterday, Puck 0.18 got released and introduced its revolutionary Drag-and-Drop engine.

Today, I wrote an article where I break down how it improves UX, what it means for you as a developer, and how to start using the new features today: buff.ly/4hp5640
Revolutionizing Drag-and-Drop in React: Introducing Puck 0.18
Puck is the open-source visual editor for React, that you can embed in any application to create the...
buff.ly
January 23, 2025 at 1:48 PM
It's finally here 🚀 This is a game changer for page builders, allowing you to create design-in-browser experiences directly within your React application.
The wait is over: Puck v0.18 just landed with the new drag-and-drop engine! 🎁

✨ What’s new?

📌 Drag and drop across CSS Grid & Flexbox
📌 Completely remove wrapping elements with the inline API
📌 No more position: fixed—easily embed the editor into your app's layout
January 22, 2025 at 12:30 PM
My interview for the Craft of Open Source podcast is live! 🚀

We talked design systems at scale, origins of @puckeditor.com and how to balance it with running a consultancy @measured.co.

Odd to listen to a podcast of yourself, but very much enjoyed playing it back.

open.spotify.com/show/5fazVpZ...
The Craft Of Open Source
Podcast · Ben Rometsch, CEO, Flagsmith · Welcome to The Craft of Open Source, hosted by Ben Rometsch, Co-Founder and CEO of Flagsmith. This bi-weekly show is focused on the ins and outs of the Open So...
open.spotify.com
January 21, 2025 at 12:40 PM
Reposted by Chris Villa
The wait is OVER.

Next week, Puck's will launch its new drag-and-drop engine:

✔ Drag across CSS Grid & Flexbox, right out of the box
✔ Effortlessly integrate your React components
✔ Seamlessly embedded within your app

Goodbye limits. Hello freedom. 🚀
January 16, 2025 at 12:00 PM
@adactio.com’s first talk in over a year tonight! 🎉

Here’s the livestream: www.youtube.com/live/XONerj4...
YouTube
Share your videos with friends, family, and the world
www.youtube.com
January 9, 2025 at 7:36 PM
Sometimes the native solutions are the most powerful ones. A great little guide that covers using CSS properties to implement theming in Puck 🌈
January 9, 2025 at 1:15 PM
Reposted by Chris Villa
Unlock the power of dynamic theming in your page builder! 🎨 Learn how to use CSS variables with Puck to create global themes in React. 🚀
Read more:
Using CSS variables to create dynamic themes in Puck
When integrating Puck into your page-building product, a common requirement is to allow your users to centrally manage the theme of the page without having to make adjustments to every component. For…
buff.ly
January 9, 2025 at 1:00 PM
Reposted by Chris Villa
Puck 0.17 is out, with React 19 support and numerous quality-of-life improvements for fields!

Thank you to the numerous contributors for this release 🙏

Last release of the year. v0.18 early next year with the new dnd engine 🥳

Happy Holidays!

github.com/measuredco/p...
Release v0.17.0 · measuredco/puck
Puck v0.17.0 adds support for React 19, improves various field APIs and squashes some bugs. This is our final feature release of the year! We're delaying the new drag-and-drop engine release until ...
github.com
December 18, 2024 at 7:28 PM
Wow, what a great early Christmas present! Puck is featured in React Status' Top Repos of the Year! 🎄

react.statuscode.com/issues/411
December 18, 2024 at 7:24 PM