We're making steady progress on our new platform. Here's where we are in our development journey.
Coming soon section with a progress bar and milestone tracker showing development stages like Design, Backend, Frontend, and Testing. Perfect for keeping users informed about product development progress.
Coming-soon hero built around a derived progress bar: overall completion is computed from the ratio of completed milestones, driving both a shadcn Progress bar and a row of numbered milestone dots connected by a line. There is no timer or countdown in this block, only static milestone state.
Free block
This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.
Radix flavor
npx shadcn add "https://ui.beste.co/r/comingsoon2"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/comingsoon2"This installs the block to components/beste/block/comingsoon2.tsx, plus the badge and progress shadcn/ui primitives it uses for the eyebrow badge and the progress bar.
The installed file exports comingsoon2Demo alongside the block: the exact props behind the preview above. Spread it to get a working progress tracker in one line.
import { ComingSoon2, comingsoon2Demo } from "@/components/beste/block/comingsoon2";
export default function ComingSoonPage() {
return <ComingSoon2 {...comingsoon2Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { ComingSoon2 } from "@/components/beste/block/comingsoon2";
export default function ComingSoonPage() {
return (
<ComingSoon2
badge={{ label: "In Development", variant: "secondary" }}
heading="Building something great"
description="Here's where we are in our development journey."
showProgress
progressLabel="Development Progress"
milestones={[
{ label: "Design", completed: true },
{ label: "Backend", completed: true },
{ label: "Frontend", completed: false },
{ label: "Launch", completed: false },
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Section eyebrow badge |
heading | string | – | Section heading |
description | string | – | Section intro text |
showProgress | boolean | true | Whether the progress bar and milestone track render at all |
progressLabel | string | – | Caption above the progress bar |
milestones | Milestone[] | [] | Stages plotted along the milestone track |
className | string | – | Extra classes for the outer <section> |
type Milestone = {
label: string;
completed: boolean;
};completedCount / milestones.length * 100 feeds both the Progress bar value and the rounded percentage text underneath it (Math.round(progress)); there is no manual progress-value prop.✓ character (not a Lucide icon), an incomplete one gets a bordered muted dot with no glyph.showProgress is true; passing an empty milestones array still renders the bar itself sitting at 0%.label, not by index, so milestone labels should be unique within one instance to avoid rendering ambiguity.comingsoon7
Coming soon section with a vertical timeline showing launch phases, dates, and status indicators. Perfect for communicating a clear release plan and keeping users informed about upcoming milestones.
comingsoon10
Coming soon section with a chronological development log feed showing recent updates, commits, and milestones. Perfect for building in public and keeping the community engaged.
comingsoon50
A coming-soon section on a soft muted card with a monospace parenthetical eyebrow, a heading, a launch-readiness percentage that counts up with an animated progress bar, a build-status row, and a working email notify form.
comingsoon1
Coming soon section with a live countdown timer showing days, hours, minutes, and seconds until launch. Perfect for product launches, event announcements, or building anticipation for new features.