Question And Answer Ledger

Asked and answered

Everything here started as a reader's question

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 chapter

What 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 pack

How do you say no without losing the relationship?

Four rejections we actually sent, printed in full, with what each one was about.

Read them

What does a retainer buy, exactly?

The definition we now put in writing, and the two shapes of retainer we refuse.

Read the issue
About this block

Question And Answer LedgerPRO

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.

Feature273: Question And Answer Ledger

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.

Upgrade Now

Installation

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

bash
npx shadcn add "https://ui.beste.co/r/feature273?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
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).

Quick start

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.

tsx
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:

tsx
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" },
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringBadge6 label above the hairline rule
headingstringSection heading under the rule
questionLabelstringHead of the left column, desktop only
answerLabelstringHead of the right column, desktop only
rowsLedgerRow[][]One hairline row per question
classNamestringExtra classes for the outer section
ts
type LedgerRow = {
  question: string;
  answer: string;
  link?: AnswerLink;
};

type AnswerLink = {
  label: string;
  href: string;
};

Behavior notes

  • The column heads are 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.
  • The question is set larger than the answer, so a reader scanning the left column alone still gets the shape of the section.
  • link is optional per row, which lets an entry stand as an answer with nothing to click.
  • Rows are separated by hairlines with no trailing rule, and the section sits on a bg-muted/40 band to separate it from ordinary prose.

More Feature blocks

View all Feature
PRO

feature246

Switchable Capability Ledger

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.

PRO

feature254

Photographic Year Ledger

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.

PRO

feature200

Feature with Two-Column Checklist and Image

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.

PRO

feature202

Feature with Side Heading and Custom Tabs

Two-column feature section with badge, heading, and multi-paragraph copy on the left, plus a custom tab strip and panel on the right.

PRO

feature298

Ask At Any Size Tabs

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.

PRO

feature288

Honest Comparison

An us-and-them comparison under a centred serif heading that settles in word by word: an ink column and a muted column list the same points with ringed checks and dashes that arrive one by one, and a sliding-marker pill closes it.