Feedback widget for v0

v0 generates Next.js apps and ships them to Vercel in a click. That makes it easy to launch, and just as easy to miss what users think, because nothing in the generated app asks them.

Why add feedback to v0 apps?

Because v0 projects use the Next.js App Router, TellTide goes in the root layout once and shows on every page.

Step 1: Create a TellTide app and copy your App ID

Sign in to TellTide, open Apps, and create an app for your site. Set the App link to your public URL — in production, the widget only accepts submissions from pages on that hostname. Copy the App ID; every snippet below uses it.

Step 2: Ask v0 to add the widget to the root layout

Paste this prompt into v0 with your App ID filled in:

In app/layout.tsx, load this script on every page with next/script
using strategy="lazyOnload". Do not change anything else.

src: https://telltide.com/src/widgets/widget.js
data-app-id: YOUR_APP_ID

Step 3: Or add it to app/layout.tsx yourself

If you edit the code directly, the result should look like this:

import Script from 'next/script';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script
          src="https://telltide.com/src/widgets/widget.js"
          data-app-id="YOUR_APP_ID"
          strategy="lazyOnload"
        />
      </body>
    </html>
  );
}

Step 4: Deploy to Vercel and set the App link

Set the App link in TellTide to your production URL (your vercel.app address or custom domain). Vercel preview deployments and the v0 preview use other hostnames; add the ones you test on under API credentials → Publishable key → Allowed websites, or test on production.

Step 5: Verify the feedback loop end to end

Open your site, click the TellTide launcher (bottom corner by default), and submit a test bug report. It should appear in your TellTide inbox within seconds. From there you can reply-triage privately, and later publish your first feature request to the public roadmap.

Good to know

  • lazyOnload loads the widget after the page is interactive, so it does not affect Core Web Vitals.
  • To show the launcher only in part of the app, put the Script in that route group’s layout instead of the root.
  • If you export the project and keep building outside v0, the Next.js guide covers the same setup in more depth.
Ready to hear from your users?
$19/mo flat · 5-minute setup · Cancel anytime

Common questions

Will v0 remove the script when I prompt for other changes?

Usually not, because the layout rarely changes. If a large rewrite touches app/layout.tsx, check that the Script tag is still there, or tell v0 to keep it.

Will the widget slow down my v0 site?

No — the snippet loads a single small script at the end of the body, after your content renders. It does not block paint or affect your Core Web Vitals.

Is the feedback users send public?

No. Unlike board-first tools, everything arrives in a private inbox. Bug reports and reviews stay internal; you publish only chosen feature requests to a roadmap users can vote on.

How much does TellTide cost?

Pro includes the widget, private inbox, API, and public roadmap. Pricing never scales with how many users you have.

Catch every bug, idea, and review

Add TellTide to v0 apps, triage privately, and publish only what you'll ship.

One script tag · 5-minute setup · Cancel anytime