page-builder · Mar 05, 2026
Page Builder v2 — Block-Based Pages Without the Overhead
How we redesigned the page builder from scratch to be fast, accessible, and require zero learning curve.
What was wrong with v1
The v1 page builder used a drag-and-drop grid. It felt powerful in demos but frustrated users in practice. The grid snapping was imprecise, mobile preview was broken, and adding a simple two-column layout required understanding the grid API.
The block approach
v2 is block-based. Every section of a page is a block with a fixed purpose: Hero, Feature Grid, Testimonial, CTA, Rich Text, Image Gallery, FAQ, Pricing Table. You pick a block, configure it with your content, and move on. No dragging required.
The AST under the hood
Pages are stored as a JSON AST — the same format as the newsletter campaign body. This means any block you build for a page can be reused in email campaigns with zero extra work. The renderer handles the output (HTML for the web, React Email for campaigns).
Performance
v2 pages are statically rendered at publish time. LCP is consistently under 800ms on a cold edge node. The previous v1 pages rendered server-side on every request — LCP was 2-3 seconds.
Keep reading Demo Blog
New essays delivered when ready. One short email a month, never more.
No comments yet
Comments are open. Have a thought or a question? Share it below.