Loading the builder…
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> )}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> )}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> )}Six years
2021
12customers
Two founders, one region, and a product that only did ticket routing.
2022
190customers
The API shipped. Half of that year’s signups came through it.
2023
1,100customers
First enterprise contract, and the audit tooling it forced us to build.
2024
2,400customers
Broke even in Q3 and have not raised since.
2025
3,300customers
Opened Frankfurt and Sydney. Data residency stopped being a blocker.
2026
4,180customers
94% of them renewed at twelve months.
Everything you need to launch — auth, billing, analytics and a dashboard your customers will actually understand.
1,453 deploys across 306 active days in the last year
| Month | deploys |
|---|---|
| Sep 2025 | 72 |
| Oct 2025 | 90 |
| Nov 2025 | 87 |
| Dec 2025 | 109 |
| Jan 2026 | 111 |
| Feb 2026 | 69 |
| Mar 2026 | 132 |
| Apr 2026 | 146 |
| May 2026 | 148 |
| Jun 2026 | 157 |
| Jul 2026 | 170 |
| Aug 2026 | 162 |
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 stats-timeline hero-split activity-heatmapThese 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 6 Hoverlab blocks.
*
* Install the sections this file imports:
* npx hoverlab add code-showcase stats-timeline hero-split activity-heatmap
*
* Packages the sections need: lucide-react
*
* Rebuild or edit this layout: https://hoverlab5.netlify.app/builder?b=code-showcase,code-showcase,code-showcase,stats-timeline,hero-split,activity-heatmap
*/
import * as React from 'react'
import { CodeShowcase } from '@/components/code-showcase'
import { StatsTimeline } from '@/components/stats-timeline'
import { HeroSplit } from '@/components/hero-split'
import { ActivityHeatmap } from '@/components/activity-heatmap'
export default function ComposedPage() {
return (
<main className="min-h-screen bg-background text-foreground">
<CodeShowcase />
<CodeShowcase />
<CodeShowcase />
<StatsTimeline />
<HeroSplit />
<ActivityHeatmap />
</main>
)
}