You deploy a preview, drop the link into an email, and wait. Three days later: "Looks good, but can you change the button color? Also I think the header is too big. Also, actually, can we start over with the layout?" Sound familiar?
Client feedback loops are one of the biggest sources of friction in agency and freelance work. The problem isn't the feedback itself — it's where it lives. When feedback arrives through email threads, Slack messages, and Zoom calls, it's scattered, ambiguous, and disconnected from the actual work.
prev's Feedback & Review Workflow solves this by embedding a structured feedback widget directly into preview environments. Your clients see the preview, click a button, and submit their thoughts — without leaving the page.
The Old Way vs. The New Way
The traditional client review cycle looks something like this:
- You deploy a preview and share the link
- The client opens it on their laptop, makes notes, screenshots something, and writes an email
- You read the email three times trying to figure out what "the blue thing on the left" refers to
- You make changes, deploy again, repeat
With prev's feedback workflow, the cycle is:
- You deploy a preview with
--feedbackand share the link - The client sees a floating "Feedback" button while browsing the preview
- They click it, type their comment, and choose Approve or Request Changes — all from the current page
- You see the submission in your Dashboard inbox, complete with which page they were on and what they said
No email. No Zoom. No ambiguity.
Enabling the Feedback Widget
Add a single flag to your prev command:
prev --feedback .
That's it. prev injects a lightweight JavaScript widget into the preview environment. No changes to your source code. No npm packages to install. No configuration files to update.
The widget appears as a floating button — unobtrusive but always accessible. Clients can submit feedback from any page within the preview, and prev automatically captures which page they were on when they submitted.
What Clients See
When a client opens a feedback-enabled preview, they see a small floating button labeled "Feedback" in the corner of the screen. Clicking it opens a panel where they can:
- Write a free-text message describing what they want changed (or what they love)
- Enter their name (optional, but useful when multiple stakeholders review the same preview)
- Click Approve to mark the preview as signed off
- Click Request Changes to flag it for revision
The widget is purely additive — it doesn't affect the preview's layout, styling, or functionality in any way.
What You See
Every submission lands in your Dashboard → Feedback inbox. Each entry shows:
- The reviewer's message
- Whether they approved or requested changes
- Their name (if provided)
- The exact page URL they were on
- The preview environment they were reviewing
- The timestamp
New submissions show an unread badge on the Feedback nav item so you never miss a response. Click any item to expand it and read the full message — it's automatically marked as read when you open it.
Filtering and Organizing
When you're working with multiple clients and multiple previews simultaneously, the inbox can fill up quickly. The filter tabs help you focus:
- All: Everything in your inbox
- Unread: Items you haven't opened yet
- Approved: Submissions where the client clicked Approve — great for sign-off tracking
- Changes: Submissions requesting revisions — your action queue
On the Business plan, you can also filter by notification profile to see only feedback for a specific project's previews.
A Real-World Workflow
Here's how a typical agency sprint looks with prev's feedback workflow:
Week 1: Initial Design Preview
# Deploy the initial design for review
prev --feedback --subdomain acme-v1 --ttl 7d .
Send the URL to the client. They browse the preview, submit three comments and one approval for the header section. You see them in the inbox immediately.
Week 2: Revision Preview
# Deploy the revised version
prev --feedback --subdomain acme-v2 --ttl 7d .
The client reviews the changes and clicks Approve. You see the green Approved badge in the inbox. Ship it.
Combining with CI/CD
The feedback flag integrates cleanly into GitHub Actions workflows, making it easy to add feedback collection to every pull request preview automatically:
name: PR Preview
on:
pull_request:
types: [opened, synchronize]
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install prev
run: curl -fsSL https://prev.sh/install.sh | sh
- name: Deploy Preview with Feedback
run: |
prev --feedback \
--subdomain pr-${{ github.event.number }} \
--ttl 14d \
.
env:
PREV_API_KEY: ${{ secrets.PREV_API_KEY }}
Every PR automatically gets a live preview with the feedback widget enabled. Stakeholders can review directly in the PR environment and submit their thoughts — all tracked in your Dashboard.
Plan & Pricing
The Feedback & Review Workflow is available on all paid plans — Individual and Business. You don't need to upgrade to start collecting feedback.
If you're on the Business plan, you can go further with Notifications & Webhooks: route feedback submissions directly to Slack, Discord, Microsoft Teams, Google Chat, email, or a custom webhook as they come in — no need to check the Dashboard manually.
Getting Started
If you're already using prev, the only change needed is adding --feedback to your next deployment:
prev --feedback .
Open the Dashboard, go to Feedback, and you'll see submissions appear in real time. Full documentation is available in the Feedback & Review Workflow guide.