Sign in

Chris Villa

@chrisvilla.bsky.social
83 followers 96 following 82 posts

Building @puckeditor.com

PostsRepliesMedia
Chris Villa @chrisvilla.bsky.social · 31/07/2026
isomorphic cubes!
010
Chris Villa @chrisvilla.bsky.social · 26/06/2026
oh awesome, congrats Dan!
010
Chris Villa @chrisvilla.bsky.social · 11/06/2026
booooooo
000
Chris Villa @chrisvilla.bsky.social · 11/06/2026
fable trying to spin up a python server just to confirm it fixed the most trivial of bugs... goodbye sweet tokens
000
Chris Villa @chrisvilla.bsky.social · 10/06/2026
It finally happened. I lost access to my X account. I guess this is home, now.
010
Chris Villa @chrisvilla.bsky.social · 11/11/2025
probably the coolest bit of tech I've ever built
010
Chris Villa @chrisvilla.bsky.social · 15/07/2025
0.19.3 release from this morning github.com/puckeditor/p...
github.com
Release v0.19.3 · puckeditor/puck
Bug Fixes don't duplicate content in Render when using multiple root DropZones (412cc57)
010
Chris Villa @chrisvilla.bsky.social · 15/07/2025
Over the last week, we've published 2 bug fix releases for Puck. One of them was released within 6 hours of a critical bug being reported this morning. Open source is a lot of work, so we're hoping that making things bite-sized reduced some of the cognitive load 🧠
100
Chris Villa @chrisvilla.bsky.social · 15/07/2025
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
100
Chris Villa @chrisvilla.bsky.social · 10/07/2025
what if you could infinitely extend your page builder for the perfect experience? sneak peak of Puck's dedicated new plugin ui 👀
020
Chris Villa @chrisvilla.bsky.social · 01/07/2025
Here's the overrides documentation: puckeditor.com/docs/extendi...
puckeditor.com
UI overrides | Puck
The overrides API is highly experimental and is likely to experience breaking changes.
000
Chris Villa @chrisvilla.bsky.social · 01/07/2025
This is a basic example, but you can pretty much override the entire app! And because Puck also exposes its internal applications state, you can completely customise it to your needs.
100
Chris Villa @chrisvilla.bsky.social · 01/07/2025
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.
110
Chris Villa @chrisvilla.bsky.social · 26/06/2025
🔍 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...
011
Chris Villa @chrisvilla.bsky.social · 25/06/2025
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...
021
Chris Villa @chrisvilla.bsky.social · 24/06/2025
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...
021
Chris Villa @chrisvilla.bsky.social · 19/06/2025
Docs: puckeditor.com/docs/api-ref...
puckeditor.com
<ActionBar> | Puck
000
Chris Villa @chrisvilla.bsky.social · 19/06/2025
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.
111
Chris Villa @chrisvilla.bsky.social · 18/06/2025
API reference: puckeditor.com/docs/api-ref...
puckeditor.com
useGetPuck | Puck
000
Chris Villa @chrisvilla.bsky.social · 18/06/2025
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!
100
Chris Villa @chrisvilla.bsky.social · 18/06/2025
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...
011
Reposted by Chris Villa
Puck @puckeditor.com · 12/06/2025
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
youtu.be
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
022
Chris Villa @chrisvilla.bsky.social · 05/06/2025
Mind blown by the 10x performance improvement in Puck 0.19. I knew it would be good, but this far exceeds my expectation!
010
Reposted by Chris Villa
Puck @puckeditor.com · 05/06/2025
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
133
Chris Villa @chrisvilla.bsky.social · 28/05/2025
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! 🙏
000
Reposted by Chris Villa
Puck @puckeditor.com · 28/05/2025
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! ⭐️
022
Chris Villa @chrisvilla.bsky.social · 19/03/2025
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!
032
Chris Villa @chrisvilla.bsky.social · 23/01/2025
Here’s mine
100
Chris Villa @chrisvilla.bsky.social · 23/01/2025
media.tenor.com
a man in a suit and tie is smiling while standing in an office .
ALT: a man in a suit and tie is smiling while standing in an office .
110
Reposted by Chris Villa
Fede Bonel Tozzi @fe-bo-to.bsky.social · 23/01/2025
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
buff.ly
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...
032
Chris Villa @chrisvilla.bsky.social · 22/01/2025
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.
030
Chris Villa @chrisvilla.bsky.social · 21/01/2025
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...
open.spotify.com
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...
084
Reposted by Chris Villa
Puck @puckeditor.com · 16/01/2025
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. 🚀
041
Chris Villa @chrisvilla.bsky.social · 09/01/2025
@adactio.com’s first talk in over a year tonight! 🎉 Here’s the livestream: www.youtube.com/live/XONerj4...
youtube.com
YouTube
Share your videos with friends, family, and the world
020
Chris Villa @chrisvilla.bsky.social · 09/01/2025
Sometimes the native solutions are the most powerful ones. A great little guide that covers using CSS properties to implement theming in Puck 🌈
021
Reposted by Chris Villa
Puck @puckeditor.com · 09/01/2025
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:
buff.ly
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…
041
Reposted by Chris Villa
Puck @puckeditor.com · 18/12/2024
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...
github.com
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 ...
031
Chris Villa @chrisvilla.bsky.social · 18/12/2024
Wow, what a great early Christmas present! Puck is featured in React Status' Top Repos of the Year! 🎄 react.statuscode.com/issues/411
021
Chris Villa @chrisvilla.bsky.social · 17/12/2024
It's rob! @isrob.com 👋
020
Chris Villa @chrisvilla.bsky.social · 23/11/2024
IT'S ALIVE! Giving Puck's new drag-and-drop engine canary a whirl on the @measured.co site!
041
Chris Villa @chrisvilla.bsky.social · 20/11/2024
/bm matt
100
Chris Villa @chrisvilla.bsky.social · 20/11/2024
/honk
000
Chris Villa @chrisvilla.bsky.social · 19/11/2024
10pm bugs are surely part of the bedtime routine by now TBF I didn’t get a goose either /honk
010
Chris Villa @chrisvilla.bsky.social · 19/11/2024
/bm /honk
200
Reposted by Chris Villa
Matt @mattlynch.dev · 18/11/2024
Bookmarks work in prod! Nice UI coming early this week.
Account information with a bookmarks array showing saved post information.
271
Chris Villa @chrisvilla.bsky.social · 19/11/2024
Why does this just feel… right?
000
Chris Villa @chrisvilla.bsky.social · 15/11/2024
Getting to the bottom of traffic spike mysteries is always fun... @puckeditor.com is currently featured on the madewithreactjs.com homepage! 📈
020
Chris Villa @chrisvilla.bsky.social · 11/11/2024
I heard 4am is the healthiest time to improve your information diet
media.tenor.com
a sign that says welcome on it with feathers flying in the background
Alt: Baby yoda appearing, with a caption that says welcome
100
Reposted by Chris Villa
Measured @measured.co · 09/10/2024
Lack of consensus. Lack of organising principle. Lack of reach. These are just a few reasons why design systems fail. Here are more, and how to mitigate them: measured.co/blog/why-des...
measured.co
Why design systems fail
Disaster is rare, but design systems often fail to meet the needs of the teams they’re meant to help. Here are 11 reasons why, and what to do to address them.
133
Chris Villa @chrisvilla.bsky.social · 19/09/2024
Well isn't that virtual lanyard just the cutest 😍 Got my in-person ticket for @nextjs.org conf! Hit me up if you want to talk @puckeditor.com ✌️
021