Why choose us ?

ShadcnShip vs other component libraries

Most shadcn/ui block collections give you markup: a hero section, a pricing table, a login form. They look right immediately and save time on layout — but the moment a block needs a real backend (auth, billing, a database-backed table), you're back to wiring it yourself. ShadcnShip's connected blocks close that specific gap.

Where the time actually goes

Building a landing page's markup rarely takes more than an afternoon, with or without a component library. The recurring cost on every new SaaS project is the backend plumbing: Supabase SSR clients and session-refresh middleware for auth, Stripe Checkout sessions and webhooks for billing, a working email send for transactional messages. That's the 2–3 days per project that connected blocks are built to remove — not the CSS.

Comparison

CapabilityBuilding it yourselfGeneric component libraryShadcnShip
Component markup (buttons, cards, forms)You write itIncludedIncluded
Supabase auth wiring (SSR clients, middleware, PKCE callback)2–3 days per projectNot includedIncluded, connected blocks
Stripe checkout wiringHours of webhook + session setupNot includedIncluded, connected blocks
Resend transactional emailSet up yourselfNot includedIncluded, connected blocks
Source code ownershipFull ownershipFull ownershipFull ownership — copy once, no runtime dependency
Ongoing platform lock-inNoneNoneNone

Frequently asked questions

Do I need Supabase to use ShadcnShip's static blocks?
No. Static blocks (hero, feature, pricing, testimonial, and similar sections) are plain shadcn/ui components with no backend dependency. Only the connected blocks (auth, waitlist, data tables) are wired to Supabase.
What's the actual difference between a static and a connected block?
A static block is markup and layout only — you wire any backend yourself. A connected block ships with the backend integration already implemented: Supabase for auth and data, Stripe for billing, Resend for email. You still copy the code and own it; the wiring is just already done.
Is it faster than building auth or a waitlist from scratch?
For the connected blocks, yes — Supabase Auth in a Next.js 15 App Router project (SSR clients, session-refresh middleware, and an OAuth callback route) takes about 30 minutes with the pre-wired block versus the 2–3 days it typically takes to get right from scratch.
Do I keep depending on ShadcnShip after I copy a block?
No. Every block is copied into your own codebase with a single install command. There's no ShadcnShip runtime, API, or package dependency afterward — you own and maintain the code exactly like any other component you'd written yourself.

Ready to see the blocks themselves? Browse all blocks.