Feedback widget for Astro

Astro strips JavaScript by default — great for speed, inconvenient for a widget that is JavaScript. The fix is Astro’s is:inline directive, which tells the compiler to leave your script tag exactly as written.

Why add feedback to Astro sites?

Put the tag in your base layout and every page of your content site or docs carries the launcher, still shipping near-zero framework JS.

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: Add the script to your base layout with is:inline

In your shared layout component, add the tag before </body>. The is:inline directive stops Astro from bundling or transforming it:

---
// src/layouts/Layout.astro
---
<html lang="en">
  <body>
    <slot />
    <script
      is:inline
      src="https://telltide.com/src/widgets/widget.js"
      data-app-id="YOUR_APP_ID"
    ></script>
  </body>
</html>

Step 3: 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

  • Without is:inline, Astro processes the script and the data-app-id attribute can be lost — the directive is the important part.
  • Works with any Astro output mode: static, server, or hybrid.
  • View Transitions keep the launcher alive; if you use the ClientRouter, the persisted body script re-runs safely thanks to its own duplicate guard.
Ready to hear from your users?Get your App ID free

Common questions

Does this defeat Astro’s zero-JS philosophy?

The widget is one small deferred script that loads after your content — the kind of measured exception Astro’s is:inline exists for. Your pages remain static and fast.

Will the widget slow down my Astro 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?

The free plan includes the widget, private inbox, API, and public roadmap for one app. Paid plans add unlimited apps and advanced features — pricing never scales with how many users you have.

Catch every bug, idea, and review

Add TellTide to Astro sites, triage privately, and publish only what you'll ship.

Get started free