They show you what they want. In under two minutes.
No forms. No screenshots with arrows. Your customers interact with their own version of your product and submit exactly what they had in mind.
Customer clicks the Diffable button
A small, unobtrusive button sits in the corner of your app. When a customer has feedback — a layout they'd prefer, a feature that's confusing, a chart that's wrong — they click it.
They describe what they want. AI builds it live.
The customer types a plain-English request: 'make this a line chart' or 'remove the Tax ID field.' Claude makes the change in a live sandbox. No code knowledge required — the customer sees results in seconds.
Make this a line chart instead
Done — changed to a line chart. Anything else?
They toggle between production and their version
A simple switch lets the customer flip between the original and their changes. This is the visual diff — instant, in context, zero mental overhead. They can keep iterating until it's exactly right.
They submit. You get working code, not a vague ticket.
One click sends the fork to your team. You receive a visual before/after, a code diff, an AI-generated intent analysis, and the full conversation. Everything you need to act on it immediately.
Changes submitted
Your team will review the visual diff and code changes.
Every fork is actionable. Every pattern is visible.
No more triaging vague tickets. Forks arrive prioritized, analyzed, and ready for your engineering team.
Forks appear in your dashboard, prioritized by signal strength
Customer ARR, cluster size, recency, severity — Diffable scores every fork so the most important feedback surfaces first. Enterprise customer filed a bug? It's at the top.
Visual before/after diffs show exactly what changed
No interpretation needed. The production UI is on the left, the customer's version is on the right. You see the change instantly — a removed field, a reorganized layout, a different chart type.
AI analyzes intent — what changed, why it matters
Claude reads the code diff, the conversation, and the customer's context. It tells you what the customer actually wanted, why it likely matters, and how it connects to other forks. A one-paragraph brief that would take a PM an hour to write.
Customer removed Tax ID and DUNS fields from step 2 of onboarding and moved demo access to step 2 instead of step 4. This suggests the current flow creates friction for trial users who want to evaluate before providing sensitive business info.
One click creates a GitHub PR. Customer gets notified when it ships.
Merge the customer's change into your codebase through your normal workflow. When the PR lands, the customer receives a notification: 'Your changes were shipped.' The feedback loop closes completely.
Remove Tax ID from onboarding step 2, move demo access earlier
Paste. Deploy. Done.
Add one snippet to your root layout. Your next deploy gives every customer a way to show you exactly what they’d change.
import { DiffableProvider } from "@diffable/react";
export default function Layout({ children }) {
return (
<DiffableProvider apiKey="df_live_...">
{children}
</DiffableProvider>
);
}Get your project key when you connect a repo in the Diffable dashboard.
Framework-agnostic
React, Vue, Svelte, vanilla JS. If it renders in a browser, it works.
One file, every page
Add it to your root layout once. It works on every page automatically.
Connect and deploy
Link your repo, grab your key, paste the snippet, deploy. Done.