Inspiration

A few months ago, I tried shipping my first-ever product. It was exciting at first, but soon became very exhausting. Feedback is everywhere: DMs, comments, screenshots, support threads, and it piles up. I soon realized I was too burnt out to manage everything, and that's where SignalGen came from. I wanted something that treats customer feedback like a to-do list that does itself. I wanted an agent that actually closes the loop from "people are complaining" all the way to "here's the PR."

What it does

SignalGen watches your customer and social channels, pulls out the actual comments, and clusters them into real product signals (bugs, feature requests, friction, trust stuff, pricing gripes). When something has enough evidence behind it, it writes up a little implementation plan and shows it to you. You hit approve. Then it goes and does the work. It branches your repo, generates the real code change with Gemini, and opens a draft PR with the plan, the evidence, and what it changed. You stay in the driver's seat the whole time; it just does the boring 80% in between. And the whole feedback → decision → PR chain gets stored, so you've got a memory of why every change happened.

How we built it

Vibe coding. Next.js app + MongoDB.

Challenges we ran into

Context management becomes more important as the project gets bigger and bigger. How to balance shipping speed and staying on top of what's implemented, and getting into the technical details.

Accomplishments that we're proud of

The loop actually closes. Feedback goes in one end and a real, reviewable draft PR with real code changes comes out the other - with a human approval in the middle and a full audit trail. We're also pretty proud of how safe we made the scary part: the AI can only touch product source files, only as a draft, only after you say yes. And we shipped it in clean, reviewed slices (every change went through plan → implement → review → PR) instead of one giant scary commit.

What we learned

  • You don't need local repo access to ship code. The GitHub API does way more than we thought.
  • For anything where an AI touches real stuff, guardrails belong in code, not vibes. The prompt is a suggestion; the filter is the law.
  • Keep a human at the exact right spot. Approval before code gets written is the whole product, not a feature.

What's next for SignalGen

  • Make the pre-approval plan show the real files it'll touch, so you know exactly what you're approving.
  • Actually run your tests/build on the change before the PR — maybe in a sandbox — so PRs come pre-validated.
  • Smarter retries (a Gemini hiccup shouldn't permanently park a job) and atomic multi-file commits.
  • Make the "what counts as product source" rules configurable per repo, so it's not just Next.js-shaped.
  • More channels in, richer feedback→decision memory, and eventually letting you trust it with bigger changes as it earns it.

Built With

  • claude
  • contents-api
  • core-stack-typescript-next.js-(app-router)-react-node.js-data-mongodb-mongodb-atlas-ai-google-gemini-api-(generative-language-api)-?-gemini-2.5-flash-for-feedback-clustering/signal-analysis
  • gemini-2.5-pro-for-code-generation-integrations-/-apis-github-rest-api-github-apps-(installation-tokens
  • git-refs
  • mongodb
  • next.js
  • node.js
  • pull-requests)-cloud-/-platform-vercel-tooling-vitest-eslint-built-the-app-with-(agentic-dev-workflow)-?-optional
  • react
  • typescript
Share this project:

Updates