Every Ship Something™ product is assembled from a library of production-tested building blocks. These are not wireframe placeholders — they are real, styled, accessible components that ship as working code.
Building blocks are the reusable pieces that make up your product's pages. A pricing page, for example, is assembled from a pricing grid block, a FAQ block, and a CTA block. A dashboard might combine a stats overview block, a recent activity block, and a quick actions block. The Build Agent selects and configures the right blocks based on your PRD.
Each block is built on the Ship Template's component library — shadcn/ui primitives styled with your Brand Standard tokens. This means every block automatically inherits your color palette, typography, and spacing. When you change your brand, every block updates.
You own all the code. Every building block lives in your project as a regular React component — there is no abstraction layer hiding the implementation. You can edit a block directly in your IDE, ask the Build Agent to modify it by voice ("make the hero section taller with a background image"), or replace it entirely with your own component.
Blocks are designed to compose freely. The Build Agent handles layout and spacing between blocks, but you can rearrange them on any page by editing the page file or describing the change you want. If you need a block that does not exist yet, describe it and the Build Agent will create one following the same patterns.
The block library covers the common patterns found across SaaS products: hero sections, feature grids, testimonials, pricing tables, contact forms, dashboards, settings panels, onboarding flows, and empty states. Marketing pages and product pages draw from different sets of blocks, but the styling system is shared. As the Ship Something™ ecosystem grows, new blocks are added based on what builders create — popular custom blocks eventually get promoted into the standard library.