Lyba for React

Client review, tied to the build they actually saw.

Lyba adds client review to React deploy previews. CI creates a review round for each preview, you send one link, and clients comment on the real build — no account, no login. Each comment records the page and screen size, and each round stays connected to the commit under review, so later changes never blur what the client saw.

How it works
01

Install the review layer

npm install @lyba/react, then render <LybaReview /> once near the root, gated to non-production builds.
02

Create a round from CI

npx @lyba/cli session create runs after the preview deploys. It detects the URL, commit, branch and PR, and prints the review link.
03

Clients review the preview

Post the link on the PR or send it over. Clients open the real preview and comment in place — nothing to install.
04

Record a checkpoint

When it's right, the client approves, and the record names them, dates it and binds it to the commit under review.
Features

The real build, not a mockup

Feedback lands on your actual deploy preview, so routing, data-fetching and interaction behave as they will in production.

Review history bound to a commit

Comments, resolutions and approvals stay connected to the commit under review, so later changes don't blur what the client saw at each stage.

One round per preview

Every preview deploy can get its own review link and its own record, so feedback never arrives detached from a build.

Screen-size aware

Each comment records mobile, tablet or desktop.

Stays off in production

Gate the widget with your own enabled expression. On production builds it mounts nothing, and Lyba also refuses to activate when it confidently detects a production environment.

Linear and Slack

Push a comment into Linear as an issue, and get review activity in Slack.
Code
app/layout.tsx
// app/layout.tsx
import { LybaReview } from "@lyba/react";

<LybaReview enabled={process.env.NEXT_PUBLIC_VERCEL_ENV !== "production"} />
.github/workflows/preview.yml
# .github/workflows/preview.yml
- run: npx @lyba/cli session create
  env:
    LYBA_API_KEY: ${{ secrets.LYBA_API_KEY }}
FAQ
How do clients review without an account?

One review link opens your deploy preview with the review layer active. Your client types their name and starts. No signup, no seat.

Which hosts work?

Anything with stable preview URLs. Vercel, Netlify and Cloudflare Pages are auto-detected; other CI can pass --preview-url.

Does the widget run in production?

No. Gate it with an enabled expression that is false in production. Lyba also applies its own production check, and the review layer only mounts when a valid review token is present.

Isn't this just bug reporting?

No. Bug-reporting tools are built for QA and engineering triage. Lyba is for client review and sign-off on previews — organised into rounds, with a record of what each client approved.

Do I need both packages?

Yes. @lyba/react renders the overlay; @lyba/cli creates the round from CI. Both are free on npm.

Do I need to change my CSP?

If you send a strict Content-Security-Policy, add Lyba's API origin to connect-src. Otherwise the toolbar can load but fail to validate the review link.

Keep every review tied to the build your client saw.

Collect feedback on the real preview, work through it round by round, and preserve the approval against the right commit.

Start free trial

14 days free · No card · Set up in a minute