Content Sections
Testimonials, FAQ, team, careers, and a blog index — the sections a marketing site fills with real content.
Where the marketing sections are mostly layout, these are data-driven: each takes an array and renders the matching component per entry, so they map cleanly onto whatever your CMS returns.
We deleted three thousand lines of one-off CSS.
The Figma file and the code finally agree.
FAQ
defaultOpen on the first item saves the reader a click and shows the answers are short — worth doing unless the list is long enough that an open item hides the rest.
Frequently asked questions
Team and careers
The item types extend the underlying component's own props — TeamSectionMember is TeamCard's props plus an id, and CareersJob is JobListing's minus layout. Anything you can pass the component, you can pass through the block.
The people behind it
Open roles
Senior Design Engineer
Own the component library end to end, from Figma to npm.
Technical Writer
Make 114 components genuinely learnable.
Blog index
Writing
A year of shipping from one Figma file
What we learned exporting 114 components 1:1, and the three places the approach nearly broke.
Why your design system drifts
Two artefacts maintained by hand will always diverge.
Shipping dark mode from day one
Retrofitting a second theme is expensive.
Copy the source
Blocks are composition examples, not configurable components. Rather than adding props for a layout they don't support, copy the file into your own project and edit it: change the columns, swap the sample data, delete the parts you don't need. Nothing here introduces a primitive you can't already import on its own.