Priya Raman, 16:41
The Rotterdam bay is booked out until Tuesday. Do you want me to split the delivery?
Builder
Pick sections from 307 blocks, drag them into order, and theme the lot in one go. What renders below is the actual component, not a picture of it — the same one the 126 pages in the catalog are built from. When it looks right, run it or take the source.
The layout and the theme both live in the address bar, so this page is shareable as a link and needs no account. Every edit is a normal navigation, which makes the back button an undo.
Hover a section to move, duplicate or remove it. Drag it to reorder.
No install step, no configuration file, no build plugin.
import { PricingTiers } from '@/components/pricing-tiers'import { FaqAccordion } from '@/components/faq-accordion' export default function Page() { return ( <main> <PricingTiers /> <FaqAccordion /> </main> )}Northwind logistics · online
Priya Raman, 16:41
The Rotterdam bay is booked out until Tuesday. Do you want me to split the delivery?
Priya Raman, 16:41
Half now, half when the bay frees up. No extra charge either way.
You, 17:02
Split it. The chairs are the urgent half.
Read
Priya Raman, 09:14
You: Split it. The chairs are the urgent half.
Chairs are on the 07:00 run Monday. I moved the desks to Wednesday.
You, 09:20
Perfect. Can you put the reference on the paperwork this time?
Delivered
You, 09:21
ORD-88410, in case it helps.
Not sent
Could not send.
Switching
Every migration page promises everything comes across. Something never does, and finding out which thing after the cutover is how a switch becomes a rollback.
Last 30 days
End to end 5.5%
100.0% of the funnel
12,205 did not continue · 33.7% of everyone who started
1,227 did not continue · 27.1% of everyone who started · Link expires after 24 hours
3,886 did not continue · 6.0% of everyone who started
Biggest drop in the funnel — 77.9% of the previous step stops here
88 did not continue · 5.5% of everyone who started
Counted as a cohort: every person here entered at the first step inside the window and is followed through in order. Someone who signed up last month and paid this month is not in these numbers, so this reads lower than a per-step total over the same period — and it is the one that answers “what happens to the people we get”.
Every block in the catalog, filtered by what it is. Click to append to the end of the page, or drag one into the outline to place it.
Writes each block to components/, which is where the page below imports them from.
npx hoverlab add code-showcase message-bubble-thread data-migration-split funnel-conversion-panelThese sections import lucide-react — everything else they use is React and Tailwind.
Sets the component name and the filename. Optional.
Saves as app/composed-page.tsx
/**
* ComposedPage — composed from 4 Hoverlab blocks.
*
* Install the sections this file imports:
* npx hoverlab add code-showcase message-bubble-thread data-migration-split funnel-conversion-panel
*
* Packages the sections need: lucide-react
*
* Rebuild or edit this layout: https://hoverlab5.netlify.app/builder?b=code-showcase,message-bubble-thread,data-migration-split,funnel-conversion-panel
*/
import * as React from 'react'
import { CodeShowcase } from '@/components/code-showcase'
import { MessageBubbleThread } from '@/components/message-bubble-thread'
import { DataMigrationSplit } from '@/components/data-migration-split'
import { FunnelConversionPanel } from '@/components/funnel-conversion-panel'
export default function ComposedPage() {
return (
<main className="min-h-screen bg-background text-foreground">
<CodeShowcase />
<MessageBubbleThread />
<DataMigrationSplit />
<FunnelConversionPanel />
</main>
)
}