What we were asked
What we made
How do you price a project when you have never done one like it?
A chapter on estimating unfamiliar work, with the spreadsheet we build every quote in.
Read the chapterWhat goes in a handover so the client stops emailing in month two?
A handover pack you can copy, plus the four questions clients ask anyway.
Take the packHow do you say no without losing the relationship?
Four rejections we actually sent, printed in full, with what each one was about.
Read themWhat does a retainer buy, exactly?
The definition we now put in writing, and the two shapes of retainer we refuse.
Read the issueA two-column ledger pairing the question a reader sent on the left with the thing that was built in response on the right, under column labels that only appear on desktop.
A two-column ledger pairing the question a reader sent on the left with the thing that was built in response on the right, under column labels that only appear on desktop.
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/feature273?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/feature273?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/feature273.tsx and the badge6 component it uses for the eyebrow (installed to components/beste/component/badge6.tsx).
The installed file exports feature273Demo alongside the block: the exact props behind the preview above. Spread it to get a working ledger in one line.
import { Feature273, feature273Demo } from "@/components/beste/block/feature273";
export default function AskedPage() {
return <Feature273 {...feature273Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Feature273 } from "@/components/beste/block/feature273";
export default function AskedPage() {
return (
<Feature273
eyebrow="Asked and answered"
heading="Everything here started as a reader's question"
questionLabel="What we were asked"
answerLabel="What we made"
rows={[
{
question: "How do you price a project you have never done before?",
answer: "A chapter on estimating unfamiliar work, with the sheet we quote from.",
link: { label: "Read the chapter", href: "/guide/estimates" },
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Badge6 label above the hairline rule |
heading | string | – | Section heading under the rule |
questionLabel | string | – | Head of the left column, desktop only |
answerLabel | string | – | Head of the right column, desktop only |
rows | LedgerRow[] | [] | One hairline row per question |
className | string | – | Extra classes for the outer section |
type LedgerRow = {
question: string;
answer: string;
link?: AnswerLink;
};
type AnswerLink = {
label: string;
href: string;
};hidden md:grid. On a phone the two halves stack, where a floating label above a stack would read as a heading for the whole list rather than for one column.link is optional per row, which lets an entry stand as an answer with nothing to click.bg-muted/40 band to separate it from ordinary prose.feature246
Capability section with a row of pill filters that swap the list below: each entry becomes a ruled three-column row holding the title, an explanation and the typical duration pinned right.
feature254
Timeline where every ruled row lines up a year, a photograph from that moment and the explanation of what forced the change, headed by a pill CTA on the heading line and stacking to a readable block on mobile.
feature200
Two-column feature section with badge, heading, description, a 2-column checklist of icon items (defaults to check icon), and CTA on one side, with a square image on the other. Image position is configurable.
feature202
Two-column feature section with badge, heading, and multi-paragraph copy on the left, plus a custom tab strip and panel on the right.
feature298
A header with a serif headline that settles in word by word and a pill that copies the install command on click, then a rounded pill tab list (pages, sections, components). Each tab pairs a title, a paragraph and a short list of example prompts in mono with a photo that blurs in and drifts on scroll.