Product Feedback · 2026

Feedback Loop

An AI-native system that takes feature requests and turns them into a brief engineering can act on.

The pattern is always the same.

A customer submits a feature request, another submits the same one two weeks later, and by the end of the quarter the same request is sitting across multiple tickets from different accounts.

Someone has to manually go through every ticket, identify the pattern, and write up individual feature requests engineering can access and prioritise.

Feedback Loop is a dashboard that centralises feature requests in one place.

You can filter the queue by request type and account, then run a Claude-powered analysis that groups requests and prioritises by account tier, and export a PDF brief you can hand straight to engineering.

Try it: Use the mock tickets already loaded or submit your own, then open the dashboard to analyse and export a brief.

Cursor Anthropic API Cloudflare Workers JavaScript Feature Requests PDF Export

How I built it

01

Why I built it this way

Having a system means every feature request gets captured, grouped, and actioned

Feature requests come in through support tickets. I go through them manually, spot the pattern, submit individual feature requests, and build a case for engineering.

Feedback Loop replaces the manual steps. The dashboard ensures nothing gets missed, and the PDF gives engineering a consistent brief every time.

02

Step 1: Intake and queue

Filter by request type and account, select your tickets, then run the analysis

The intake form captures feature requests by request type (Authentication, API, Integrations, User Management, Billing) and account tier (Enterprise, Pro, Free). Every submission goes straight into the dashboard queue.

From there you filter by type and tier, select the tickets you want to analyse, and move to Step 2.

The struggle

The mock data went through seven versions. The first read like bug reports. Then it was too employer-specific. Then I noticed that the categories would have confused anyone who was not familiar with the product.

It took longer to get twenty tickets that felt genuinely realistic and well spread across five request types than it took to build the intake form.

03

Step 2 and 3: Analysis and export

Claude groups the requests, scores by priority, and generates a brief you can act on

Step 2 sends the selected tickets to Claude via a secured Cloudflare Worker. Claude then groups them into themes, scores each one by priority based on how frequently it appears and which account tiers are asking for it, and returns a summary with recommended actions and affected accounts.

Step 3 exports a PDF document with supporting evidence for each ticket, the document I would attach to a Jira epic or bring into a product review meeting.

The struggle

The PDF export broke twice. The first version generated a blank document. The second had content but the layout was unreadable.

When I deployed, the PDF library returned a 404 and the whole export silently failed until I checked the console. I used Cursor's debugger to trace and resolve the issue, then rebuilt the PDF layout from scratch.

The document includes a theme summary, the accounts affected, a recommended action for engineering, and a breakdown of each ticket with the feature request, why it matters to the customer, and the account tier and priority.

Tech stack

Cursor

Built end to end in Cursor

Anthropic Claude

Groups requests and scores priority

Cloudflare Workers

Secures the API key and rate limits the public demo

Cloudflare Pages

Hosts the live demo

jsPDF

Generates the PDF document

JavaScript

Dashboard, intake form, ticket storage

Try it yourself

Submit a feature request, then open the dashboard to filter tickets, run AI analysis, and export a PDF brief.

Open Feedback Loop →
PA

Madiha's Portfolio Assistant

Ask me anything