“It’s broken.”

— best bug report you’ll get today

sendshot captures screenshots, logs, and repro steps automatically. One script tag.

Your user encounters an issue.

app.acme.io/dashboard
S_
Revenue
$12.4k
Users
1,847
Sessions
4,291
TypeError: Cannot read properties of undefined
😲
S_

Stop the Madness!

Your users can't describe bugs — and they never will.Here's what you get instead.

The Old Way
Re: Bug on HomepageTo: Support Team
Bug_Report_FINAL_v2.docx42MB • Word Document
Screenshot.png
???Image corrupted
The Sendshot Way

Complete Context

Everything you need to fix it.

User Feedback
"I clicked save but the spinner kept spinning. The request timed out?"
Journey
Navigation
/settings
Click
button#save
Logs
12:01GET /api/user 200
12:02Error: Failed to save
12:02Retrying...
Chrome 120
macOS 14.2
1920×1080

Easy to
Install. 😊

Three steps to instant feedback. No complicated setup, just raw utility.

index.html
<!-- Add to <body> -->
<script
  src="https://sendshot.dev/widget.js"
  data-key="ss_8a1f...9b2"
></script>
Copied
01

Copy Snippet

Copy the script tag to your layout.

index.html
1   <!DOCTYPE html>
2   <html>
3     <body>
4       <h1>Hello World</h1>
5
6       <script src="..." data-key="..." />
7     </body>
8   </html>
02

Drop In

Paste it before the </body> tag.

Feedback Received

New issue from John Doe

03

Relax

Watch the issues roll in.

Works with everything

Next.js
React
Vite
Vue
Svelte
Remix
Nuxt
Astro
Solid
Angular
HTML5
Next.js
React
Vite
Vue
Svelte
Remix
Nuxt
Astro
Solid
Angular
HTML5
Next.js
React
Vite
Vue
Svelte
Remix
Nuxt
Astro
Solid
Angular
HTML5

Everything. Automagically. 🪄

Auto-Capture

Console Logs

We capture the last 50 console logs, errors, and warnings before the snapshot.

Log: User clicked "Submit"
Warn: Deprecated API call
Error: Cannot read property 'id' of undefined
at Button.handleClick (App.tsx:42)
Network

Failed Requests

See exactly which API call failed.

200POST /api/auth/login45ms
200GET /api/user/me120ms
500POST /api/projects/createFailed
...Waiting for response

Custom Context

userId"usr_8f2k"
plan"pro"
feature"checkout_v2"

Manage

Issue #102
IN PROGRESS
Issue #101
FIXED
Issue #99
OPEN
User Avatar

User Notes

Users can tell you what went wrong.

"I clicked the save button 3 times but nothing happened, then the screen flashed red..."

Security & Privacy

Your Data. Your Rules.

You're adding a script to your app. Here's why you can trust it.

EU-Hosted Servers

Hetzner, Germany. GDPR-friendly by design.

~10KB gzipped. Self-Contained.

Zero external dependencies. No hidden scripts loaded.

Auto Input Masking

Passwords and emails masked in screenshots. Always.

Zero Tracking

No cookies. Context lives in-memory, gone after submit.

Domain Locked

Only your whitelisted domains can send data.

Made in Europe

Built in the Netherlands. Hosted in Germany. No outsourcing, no third-party data sharing.

Photo Booth
Founder
Founder

built by an
indie hacker.

Hey, I'm Stefan. 👋

I build things fast, but I was spending more time decoding 47-page Word docs with blurry screenshots than actually coding.

The big feedback tools were either too enterprise or overpriced. I just wanted a simple script I could drop in and forget.

So I built Sendshot to get the context I need in one second. No bloat, just the facts.

I hope you like it! 😄

- Stefan

Pricing that doesn't suck

No complicated tiers. No feature gates. Just pick your style.

Launch Deal

Lifetime

$49 once

Pay once, use forever. No recurring fees.

Everything, forever.

  • Unlimited Projects
  • Unlimited feedback
  • Advanced customization
  • Remove branding
  • All future updates
Get Lifetime Access

Early adopter pricing — limited availability

Pro

$9/mo

Same features, monthly.

  • Unlimited Projects
  • Unlimited feedback
  • Advanced customization
  • Remove branding
Subscribe Monthly

Got questions?

Yes! The free plan gives you unlimited projects and unlimited feedback. Paid plans ($49 lifetime or $9/mo) unlock advanced customization and remove branding.

Of course. No lock-in, no cancellation fees. Cancel in one click from your dashboard. Your data stays available for 30 days after.

No. The script is ~10KB gzipped, self-contained, and loads asynchronously. Zero impact on your Core Web Vitals.

Never. Your screenshots, logs, and feedback data are yours. We don't use it for AI training, sell it, or share it with third parties. Period.

Anything that runs in a browser. React, Next.js, Vue, Svelte, Angular, plain HTML — if it has a <head> tag, you can use Sendshot.

Sendshot automatically detects password fields, email inputs, and credit card forms. These are blurred in screenshots before they ever leave the browser.

Stop Playing
Detective.

See what your users see. Fix it in minutes, not hours.
Drop the widget in your app

Free to start. $49 lifetime deal available.