Why add feedback to Svelte apps?
Every route, layout, and client-side navigation keeps the launcher available without a line of Svelte code.
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 src/app.html
In SvelteKit, place the tag before </body> in the app template:
<!-- src/app.html -->
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
<script
src="https://telltide.com/src/widgets/widget.js"
data-app-id="YOUR_APP_ID"
></script>
</body>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
- For plain Svelte + Vite (no Kit), use index.html exactly like a React or Vue SPA.
- app.html is outside the compiled app, so svelte-migrate and Kit upgrades leave the snippet alone.
- Set the App link to your deployed URL; localhost is allowed during vite dev.
Common questions
Should I use svelte:head instead?
You can inject it from a root +layout.svelte with svelte:head if you want conditional loading, but app.html is simpler for a site-wide launcher and avoids re-running the tag on navigation.
Will the widget slow down my Svelte & SvelteKit 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.
