From the first buyers
Long answers, lightly edited, from people who reserved in the first weeks. Each one bought a different type, so the reasons are different too.
I had looked at 11 new builds before Alder Row and every one of them felt like it could be anywhere. Here the warehouse wall runs through the living room, the window is taller than I am, and you can hear the river when it rains. I reserved at the second visit.
The numbers were honest. The brochure had the service charge on the first page, not the last, and when I asked about completion the team gave me a season rather than a promise. That kind of straightness made the rest easy.
I wanted a terrace I would actually use, not a strip of decking with a view of a car park. The roof terrace runs the whole river side, the trusses are still in the study, and the station is 6 minutes door to door. Nothing else came close.
Quotes are from exchanged buyers and are used with their permission.
Three long buyer testimonials stacked under a header grid, each row opening with a hairline that draws across and a small line-drawn quotation mark, the quote set large in the middle columns and the buyer's name, the type they bought and the month on the right. The rows rise one after another as they scroll into view and a closing hairline carries a permission note.
Three long buyer testimonials for a development's sales page, stacked under a header grid: each row opens with a hairline that draws across and a small line-drawn quotation mark, the quote itself is set large in the middle columns, and the buyer's name, the type they bought and the month sit on the right. The rows rise one after another as they scroll into view, and a closing hairline carries a short permission note.
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://beste.dev/r/realestate49?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://beste.dev/r-base/realestate49?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/realestate49.tsx plus the badge24 eyebrow it renders above the heading; no shadcn/ui primitives are needed.
The installed file exports realestate49Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.
import { Realestate49, realestate49Demo } from "@/components/beste/block/realestate49";
export default function Page() {
return <Realestate49 {...realestate49Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Realestate49 } from "@/components/beste/block/realestate49";
export default function Page() {
return (
<Realestate49
eyebrow="From the first buyers"
heading="9 homes went at launch. 3 of the buyers explain why."
description="Long answers from people who reserved in the first weeks."
quotes={[
{
quote: "The warehouse wall runs through the living room and you can hear the river when it rains. I reserved at the second visit.",
name: "Sufjan Stevens",
detail: "Type C, three bedroom in the courtyard wing",
date: "Reserved April 2026",
},
{
quote: "The brochure had the service charge on the first page, not the last. That kind of straightness made the rest easy.",
name: "Esperanza Spalding",
detail: "Type A, two bedroom in the warehouse",
date: "Reserved May 2026",
},
]}
note="Quotes are from exchanged buyers and are used with their permission."
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Short line above the heading, drawn with a rule in front of it. |
heading | string | – | Section heading. |
description | string | – | Intro paragraph beside the heading. |
quotes | Quote[] | [] | The testimonials, rendered in order as hairline rows. |
note | string | – | Small line under the closing hairline, for permissions or sourcing. |
className | string | – | Extra classes merged onto the section. |
type Quote = {
quote: string;
name: string;
detail: string;
date: string;
};pathLength from zero, the second mark starting 0.15 seconds after the first, both 0.2 seconds after their row begins to rise.name in the foreground colour, detail and date as muted captions; nothing in the block is bolder than font-medium.prefers-reduced-motion every row, hairline and glyph renders complete with no entrance.