site/index.html
Rama main · réplica de lectura del repositorio original.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Feedbacks — Free, open-source visual feedback & session replay</title>
<meta
name="description"
content="Free, self-hosted visual feedback with session replay, Kanban, project analytics, email and task integrations. Bring your team and coding agent."
/>
<meta name="theme-color" content="#fffdfa" />
<meta
property="og:title"
content="Feedbacks — Free, open-source visual feedback & session replay"
/>
<meta
property="og:description"
content="Show the bug. Replay the moment. Share the evidence. Free, Apache-2.0 and self-hosted, with MCP for your coding agent."
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="https://feedbacks.softinator.ai/" />
<meta name="twitter:card" content="summary_large_image" />
<meta
property="og:image"
content="https://feedbacks.softinator.ai/media/social-preview.png"
/>
<meta
property="og:image:alt"
content="Feedbacks: visual feedback, session replay and debugging evidence. Free and Apache-2.0."
/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<link rel="canonical" href="https://feedbacks.softinator.ai/" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="stylesheet" href="/site.css" />
<link rel="stylesheet" href="/landing.css" />
<link rel="stylesheet" href="/product-story.css" />
<link
rel="preload"
href="/fonts/manrope-latin-v1.woff2"
as="font"
type="font/woff2"
crossorigin
/>
<link rel="preload" as="style" href="/learn/demo.css?v=20260930-12" />
<link rel="preload" as="style" href="/learn/recording-review.css?v=20260930-12" />
<link rel="modulepreload" href="/learn/recording-runtime.js?v=20260930-12" />
<link rel="preload" as="image" href="/learn/studio-chair.webp" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Feedbacks",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Web, Chrome",
"url": "https://feedbacks.softinator.ai/",
"description": "Free, self-hosted visual feedback with screenshots, video, session replay, debugging bundles and AI-agent context.",
"isAccessibleForFree": true,
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"description": "Free software. Self-hosting infrastructure is provided by the operator."
},
"featureList": [
"Screenshot annotations",
"Video and session replay",
"Debugging evidence bundles",
"Text suggestions",
"MCP, API and CLI",
"GitHub Issues",
"Project Kanban board",
"Project analytics and workload drilldowns",
"Subscribed email with server and project templates",
"ClickUp, monday.com, Jira, Asana and other task integrations"
],
"license": "https://www.apache.org/licenses/LICENSE-2.0"
}
</script>
<script data-cfasync="false" defer src="/learn/demo.js?v=20260930-12"></script>
</head>
<body class="landing-page">
<a class="skip-link" href="#main">Skip to content</a>
<header class="site-header wrap">
<a class="wordmark" href="/" aria-label="Feedbacks home"
><img src="/favicon.svg" width="30" height="30" alt="" />feedbacks<span
class="wordmark-dot"
>.</span
></a
>
<nav aria-label="Main navigation">
<a href="#features">Features</a><a href="#comparisons">Compare</a
><a href="/docs/" target="_blank" rel="noopener noreferrer">Docs</a
><a
href="https://github.com/Softinator-TechLabs/feedbacks-oss"
target="_blank"
rel="noopener noreferrer"
>GitHub
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg
></a>
</nav>
</header>
<main id="main">
<section class="product-hero wrap" aria-labelledby="hero-title">
<div class="product-intro">
<h1 id="hero-title">
Show the bug.<br />Keep the
<span class="marked"
>whole story.<svg viewBox="0 0 300 24" aria-hidden="true">
<path d="M4 15Q98 2 290 9M16 23Q161 10 283 17" /></svg
></span>
</h1>
<p class="product-lead">
Screenshots, video and session replay.<br />The context your team and AI agent
need to fix it.
</p>
<p class="license-line"><strong>100% free.</strong> Apache-2.0 open source.</p>
<div class="product-actions">
<a
class="start-button"
href="/docs/guide/getting-started"
target="_blank"
rel="noopener noreferrer"
>Set up Feedbacks <span aria-hidden="true">↗</span></a
>
<div class="existing-team-action">
<span>Team already has a setup?</span>
<a
href="https://chromewebstore.google.com/detail/feedbacks-website-review/dcpfpkfmegpgbfkeeileabpcbbmnoobo"
target="_blank"
rel="noopener noreferrer"
>Install the Chrome extension</a
>
</div>
</div>
<p class="product-footnote">The complete product, on your infrastructure.</p>
</div>
<div class="product-hero-demo">
<feedbacks-demo step="recording" depth reveal
><picture>
<source
media="(max-width: 800px)"
srcset="/media/story/loading-mobile-v2.webp"
width="708"
height="1346"
/>
<img
src="/media/story/loading-desktop-v2.webp"
width="1254"
height="1080"
alt="Feedbacks video review with a shared timeline and timestamped activity."
/> </picture
></feedbacks-demo>
</div>
</section>
<section class="capture-section wrap" aria-labelledby="capture-title">
<div class="section-intro">
<h2 id="capture-title">A small change? Just point it out.</h2>
<p>
Pin the exact element. Annotate the screenshot. Keep every comment with its
original view.
</p>
</div>
<section class="story" id="workflow" aria-labelledby="workflow-title">
<h2 class="sr-only" id="workflow-title">From a click to context</h2>
<div
class="story-controls"
role="group"
aria-label="Follow the feedback workflow"
>
<button data-scene="0" aria-pressed="true">
<span>01</span> Point it out</button
><svg class="step-arrow" viewBox="0 0 32 24" aria-hidden="true">
<path d="M3 12h24m-6-6 6 6-6 6" />
</svg>
<button data-scene="1" aria-pressed="false">
<span>02</span> Check & send</button
><svg class="step-arrow" viewBox="0 0 32 24" aria-hidden="true">
<path d="M3 12h24m-6-6 6 6-6 6" />
</svg>
<button data-scene="2" aria-pressed="false">
<span>03</span> Fix with your agent
</button>
</div>
<div class="story-stage" data-active="0">
<div class="screen-stack">
<feedbacks-demo id="story-demo" step="capture" depth
><img
src="/media/workflow/point-preview.webp"
width="1440"
height="900"
loading="lazy"
alt="Feedbacks extension capturing a comment beside a selected button on a fictional furniture website."
/></feedbacks-demo>
</div>
<div class="story-note" aria-live="polite">
<div class="pencil-note" id="pencil-note">this button, right here.</div>
<h3 id="scene-title">Right-click. <br />Say what needs changing.</h3>
<a
id="scene-guide"
href="/docs/guide/chrome-extension"
target="_blank"
rel="noopener noreferrer"
>Install & pin the extension
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg
></a>
</div>
</div>
</section>
</section>
<nav class="feature-nav wrap" aria-label="Explore product capabilities">
<a href="#recordings">Discuss & hand off</a
><a href="#text-changes">Suggest the words</a
><a href="#debug-bundle">Take the evidence</a
><a href="#agent-context">Give your agent context</a
><a href="#features">Plan & connect</a>
</nav>
<section
class="product-section wrap"
id="recordings"
aria-labelledby="recordings-title"
>
<div class="product-section-copy">
<h2 id="recordings-title">Discuss it together.<br />Hand it to your agent.</h2>
<p>
Keep decisions beside the evidence. Copy the thread into Codex or Claude, with
your team's discussion and page context attached.
</p>
<a
class="text-link"
href="/docs/guide/mcp"
target="_blank"
rel="noopener noreferrer"
>Connect your agent <span aria-hidden="true">→</span></a
>
</div>
<figure class="product-figure recording-figure">
<feedbacks-demo step="discussion">
<img
src="/learn/thread-ready.webp"
width="2304"
height="1180"
loading="lazy"
alt="Feedbacks thread with Maya and Leo discussing a checkout fix and the Copy task for agent action."
/>
</feedbacks-demo>
</figure>
</section>
<section
class="product-section wrap reverse"
id="text-changes"
aria-labelledby="text-title"
>
<div class="product-section-copy">
<h2 id="text-title">Less “change that bit.”<br />More exact words.</h2>
<p>
Select a phrase and suggest its replacement. The original text, element and
screenshot travel together, so the developer knows exactly what you meant.
</p>
<a
class="text-link"
href="/docs/guide/text-suggestions"
target="_blank"
rel="noopener noreferrer"
>See text suggestions <span aria-hidden="true">→</span></a
>
</div>
<figure class="product-figure">
<picture
><source media="(max-width: 600px)" srcset="/media/story/text-mobile.svg" />
<img
src="/media/story/text.svg"
width="760"
height="320"
loading="lazy"
alt="Illustrative text suggestion replacing ‘every room’ with ‘your favourite corner’, preserving the original."
/></picture>
</figure>
</section>
<section
class="product-section wrap"
id="debug-bundle"
aria-labelledby="bundle-title"
>
<div class="product-section-copy">
<h2 id="bundle-title">The bug report.<br />With the debugging attached.</h2>
<p>
Download a complete thread bundle: conversation, screenshots, videos, session
events and captured diagnostics. Or let your agent read just the evidence it
needs.
</p>
<a
class="text-link"
href="/docs/guide/debug-bundles"
target="_blank"
rel="noopener noreferrer"
>Open the debugging guide <span aria-hidden="true">→</span></a
>
</div>
<figure class="product-figure">
<picture
><source media="(max-width: 600px)" srcset="/media/story/bundle-mobile.svg" />
<img
src="/media/story/bundle.svg"
width="760"
height="320"
loading="lazy"
alt="A portable thread archive contains conversation, media, recordings, diagnostics and a checksummed manifest."
/></picture>
</figure>
</section>
<section
class="product-section wrap reverse"
id="agent-context"
aria-labelledby="context-title"
>
<div class="product-section-copy">
<h2 id="context-title">Your agent needs<br />your team’s context, too.</h2>
<p>
Ask Codex or Claude what to work on next. Through MCP, it can weigh your
assigned work, top-priority flags and team context, then recommend where to
start.
</p>
<a
class="text-link"
href="/docs/guide/agent-context"
target="_blank"
rel="noopener noreferrer"
>See how context works <span aria-hidden="true">→</span></a
>
</div>
<figure class="product-figure">
<picture
><source
media="(max-width: 600px)"
srcset="/media/story/context-mobile.svg?v=20260930-2" />
<img
src="/media/story/context.svg?v=20260930-2"
width="760"
height="320"
loading="lazy"
alt="Assigned work, priority flags, evidence and approved guidance help Codex or Claude recommend a task."
/></picture>
</figure>
</section>
<section
class="feature-directory wrap"
id="features"
aria-labelledby="features-title"
>
<div class="section-intro">
<h2 id="features-title">From feedback to finished.</h2>
</div>
<div class="feature-rows">
<a
href="/docs/reference/manual/project-board"
target="_blank"
rel="noopener noreferrer"
><strong>Kanban, built in</strong
><span
>Move cards, assign work and update a batch. Keep the feedback
attached.</span
><span aria-hidden="true">↗</span></a
>
<a href="/docs/guide/analytics" target="_blank" rel="noopener noreferrer"
><strong>See what needs attention</strong
><span
>Pending, overdue and high-priority work. Visual analytics, project by
project.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/reference/manual/integrations#connect-a-task-account"
target="_blank"
rel="noopener noreferrer"
><strong>Connect your task apps</strong
><span
>ClickUp, monday.com, Jira, Asana and six more. Choose destinations by
name.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/email-notifications"
target="_blank"
rel="noopener noreferrer"
><strong>Keep subscribers in the loop</strong
><span
>SMTP, Mailjet or Amazon SES. Choose events and customize server or project
email templates.</span
><span aria-hidden="true">↗</span></a
>
<a href="/docs/guide/github" target="_blank" rel="noopener noreferrer"
><strong>GitHub, across repositories</strong
><span
>Use multiple Apps on one server, one per project. Connect repositories
across that App’s permitted installations.</span
><span aria-hidden="true">↗</span></a
>
<a href="/docs/guide/review-feedback" target="_blank" rel="noopener noreferrer"
><strong>A queue your team can work through</strong
><span
>Assignments, categories, tags, saved views, point progress and verified
outcomes.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/more-ways-to-review#guest-review"
target="_blank"
rel="noopener noreferrer"
><strong>Invite clients into the review</strong
><span>Scoped guest links and published page annotations.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/more-ways-to-review#documents"
target="_blank"
rel="noopener noreferrer"
><strong>Review documents, too</strong
><span>Discuss PDF and image attachments alongside website feedback.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/more-ways-to-review#widget-and-surveys"
target="_blank"
rel="noopener noreferrer"
><strong>Hear from people on your website</strong
><span>Optional text-feedback widget, surveys and NPS.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/more-ways-to-review#scheduled-qa"
target="_blank"
rel="noopener noreferrer"
><strong>Keep checking public pages</strong
><span>Opt-in scheduled QA, run history and visual baselines.</span
><span aria-hidden="true">↗</span></a
>
<a
href="/docs/guide/more-ways-to-review#native-apps-and-webhooks"
target="_blank"
rel="noopener noreferrer"
><strong>Connect the rest of your workflow</strong
><span>Host-app mobile SDKs, signed webhooks, API and CLI.</span
><span aria-hidden="true">↗</span></a
>
</div>
</section>
<section
class="client-roadmap wrap"
id="platforms"
aria-labelledby="platforms-title"
>
<div class="section-intro">
<h2 id="platforms-title">Your workflow. More places.</h2>
</div>
<div class="client-roadmap-columns">
<article>
<h3>Available: your coding agent.</h3>
<p class="client-platforms">Codex · Claude Code · MCP</p>
<p>
Connect directly today. Official directories are a separate distribution
channel.
</p>
<a
class="text-link"
href="/docs/guide/mcp"
target="_blank"
rel="noopener noreferrer"
>Connect your agent <span aria-hidden="true">→</span></a
>
</article>
<article>
<h3>Coming soon: native apps.</h3>
<p class="client-platforms">Windows · Ubuntu · macOS<br />Android · iOS</p>
<p>
Planned desktop companions and mobile sharing. No release date announced.
</p>
<a
class="text-link"
href="/docs/reference/manual/upcoming"
target="_blank"
rel="noopener noreferrer"
>See what’s planned <span aria-hidden="true">→</span></a
>
</article>
</div>
</section>
<section class="setup-section" id="setup" aria-labelledby="setup-title">
<div class="wrap">
<div class="setup-heading">
<h2 id="setup-title">One team server.<br />Everyone on the same page.</h2>
<p>
Your team provides hosting and any AI tools it chooses. Reviewers connect to
the same server.
</p>
</div>
<ol class="setup-path">
<li>
<a href="/docs/guide/self-host" target="_blank" rel="noopener noreferrer"
><span class="setup-number">1</span><strong>Start the server</strong
><span
>DevOps · installation guide
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg></span
></a>
</li>
<li>
<a
href="/docs/guide/chrome-extension"
target="_blank"
rel="noopener noreferrer"
><span class="setup-number">2</span><strong>Connect Chrome</strong
><span
>Install → pin → paste server URL
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg></span
></a>
</li>
<li>
<a href="/docs/guide/team-setup" target="_blank" rel="noopener noreferrer"
><span class="setup-number">3</span><strong>Bring your team</strong
><span
>Projects, context & members
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg></span
></a>
</li>
<li>
<a href="/docs/guide/mcp" target="_blank" rel="noopener noreferrer"
><span class="setup-number">4</span><strong>Connect your agent</strong
><span
>Developer · personal MCP setup
<svg class="link-arrow" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 19 19 5M6 5h13v13" /></svg></span
></a>
</li>
</ol>
<p class="server-tip">
To connect the extension, open <strong>Setup → Copy server URL</strong> in
your Feedbacks app, then paste it into the extension.
</p>
</div>
</section>
<section class="comparisons wrap" id="comparisons" aria-labelledby="compare-title">
<div class="comparison-heading">
<h2 id="compare-title">Compare your options.</h2>
<a href="/compare/" target="_blank" rel="noopener noreferrer"
>See the full comparison <span aria-hidden="true">→</span></a
>
</div>
<p>
Compare screenshots, recordings, session replay, debugging evidence, hosting and
agent workflows. Every confirmed capability links to its source.
</p>
<nav class="comparison-links" aria-label="Compare Feedbacks with other tools">
<a href="/compare/bugherd.html" target="_blank" rel="noopener noreferrer"
>BugHerd</a
>
<a href="/compare/marker-io.html" target="_blank" rel="noopener noreferrer"
>Marker.io</a
>
<a href="/compare/markup-io.html" target="_blank" rel="noopener noreferrer"
>MarkUp.io</a
>
<a href="/compare/markup-hero.html" target="_blank" rel="noopener noreferrer"
>Markup Hero</a
>
<a href="/compare/redpen-ai.html" target="_blank" rel="noopener noreferrer"
>Redpen.ai</a
>
<a href="/compare/pastel.html" target="_blank" rel="noopener noreferrer"
>Pastel</a
>
<a href="/compare/ruttl.html" target="_blank" rel="noopener noreferrer"
>Ruttl</a
>
<a href="/compare/superflow.html" target="_blank" rel="noopener noreferrer"
>Superflow</a
>
<a href="/compare/usersnap.html" target="_blank" rel="noopener noreferrer"
>Usersnap</a
>
<a href="/compare/userback.html" target="_blank" rel="noopener noreferrer"
>Userback</a
>
<a href="/compare/atarim.html" target="_blank" rel="noopener noreferrer"
>Atarim</a
>
<a href="/compare/bugpin.html" target="_blank" rel="noopener noreferrer"
>BugPin</a
>
<a href="/compare/fasterfixes.html" target="_blank" rel="noopener noreferrer"
>FasterFixes</a
>
<a href="/compare/siteping.html" target="_blank" rel="noopener noreferrer"
>SitePing</a
>
<a href="/compare/openreplay.html" target="_blank" rel="noopener noreferrer"
>OpenReplay + Spot</a
>
</nav>
</section>
</main>
<footer class="site-footer wrap landing-footer">
<div>
<a class="wordmark" href="/">feedbacks.</a>
<p>
By
<a href="https://softinator.ai" target="_blank" rel="noopener noreferrer"
>Softinator</a
>. Built in the open.
</p>
</div>
<nav aria-label="Footer navigation">
<a
href="https://github.com/Softinator-TechLabs/feedbacks-oss/blob/HEAD/CONTRIBUTING.md"
target="_blank"
rel="noopener noreferrer"
>Contribute</a
><a
href="https://github.com/Softinator-TechLabs/feedbacks-oss/blob/HEAD/SECURITY.md"
target="_blank"
rel="noopener noreferrer"
>Security</a
><a href="/privacy.html" target="_blank" rel="noopener noreferrer">Privacy</a>
</nav>
</footer>
<script type="module" src="/site.js"></script>
</body>
</html>