We have no agency and we do not pay for placement, so this list grows slowly. Every piece links to the original.
Practice Weekly
May 2026
“The first clinical scheduler in a decade that treats the receptionist as the primary user rather than an afterthought.”
Hannah Bray
The Care Review
April 2026
“Their published incident notes are more candid than most companies' marketing, which turns out to be a competitive advantage.”
Owen Meade
Health Systems Quarterly
February 2026
“A migration story that finished on time is rare enough to be newsworthy. Three of them in a row is a pattern.”
Dr Susan Ivey
Founders & Practice
November 2025
“No sales team, no implementation fee, and a support rota staffed by the people who wrote the code. It should not work, and it does.”
Marcus Reid
The press pack has logos, screenshots, and the founders' contact details. We will also give you the names of practices who did not enjoy the switch.
A coverage section listing each outlet against the line it published, as linked hairline rows with the writer and date, closing on a soft press pack panel.
A coverage section listing each outlet against the line it published, as linked hairline rows with the writer and date, closing on a soft press pack panel.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
Radix flavor
npx shadcn add "https://ui.beste.co/r/social51?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/social51?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/social51.tsx plus the badge23 and button21 components it uses for the eyebrow and the press pack action.
The installed file exports social51Demo alongside the block: the exact props behind the preview above. Spread it to get a working coverage list in one line.
import { Social51, social51Demo } from "@/components/beste/block/social51";
export default function PressPage() {
return <Social51 {...social51Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Social51 } from "@/components/beste/block/social51";
export default function PressPage() {
return (
<Social51
badge={{ label: "Written about us" }}
heading="Coverage we did not place"
description="We have no agency and we do not pay for placement."
mentions={[
{
outlet: "Practice Weekly",
quote: "The first clinical scheduler in a decade that treats the receptionist as the primary user.",
writer: "Hannah Bray",
date: "May 2026",
href: "https://example.com/coverage/1",
},
{
outlet: "The Care Review",
quote: "Their published incident notes are more candid than most companies' marketing.",
writer: "Owen Meade",
date: "April 2026",
href: "https://example.com/coverage/2",
},
]}
pressTitle="Writing about us?"
pressBody="The press pack has logos, screenshots, and the founders' contact details."
button={{ label: "Get the press pack", href: "/press" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow above the hairline rule, rendered through Badge23 |
heading | string | – | Section heading in the left column of the header |
description | string | – | Supporting paragraph, right-aligned from md up |
mentions | Mention[] | [] | Coverage entries as linked rows |
pressTitle | string | – | Heading in the closing panel |
pressBody | string | – | Paragraph in the closing panel |
button | { label: string; href: string } | – | Press pack action |
className | string | – | Extra classes for the outer section |
type ActionLink = {
label: string;
href: string;
};
type Mention = {
outlet: string;
quote: string;
writer: string;
date: string;
href: string;
};text-xl rising to md:text-2xl, so what was said outranks who said it.“ and ” entities, so pass quote as plain text or you will get doubled quotes.Link elements in a three-track grid from md: outlet and date, the quote and writer, then the arrow. Below md the arrow is hidden entirely.group/social51, rather than the bare group class, carries self-start so it stays level with the top of a multi-line quote, and its shift is wrapped in motion-safe:.md:px-4 alongside the hover fill, so the highlight extends slightly past the text on wider screens.border-t with no closing rule, so the list flows into the closing panel.