Product · 2026 · Private source

Orbit

Product recommendations ranked from customer feedback.

Product teams collect feedback in tickets, calls, reviews, and surveys. Deciding which complaints describe the same problem takes work.

I built Orbit to group repeated problems, rank them, and draft build briefs. Each recommendation retains links to its supporting feedback.

  1. FeedbackTickets, calls, reviews
  2. GroupRepeated problems
  3. RankScoring code
  4. DraftModel + validator
  5. Build briefsEvidence attached
From feedback to a build brief. Code determines the ranking; models draft the text.

Code determines the ranking

Orbit groups feedback with seeded clustering. The scoring code combines frequency, recency, severity, revenue, and churn signals.

Language models write labels, drafts, and effort estimates. They do not choose the rank. Each model call has a deterministic fallback.

The demo fixes the workspace and inputs so repeated runs produce the same ranking. That makes changes to the pipeline easier to compare.

A brief must describe one actionable problem

Each brief describes the problem, affected users, timing, proposed direction, acceptance criteria, and success metric.

A validator rejects vague drafts and drafts that combine unrelated problems. After one repair attempt, an invalid candidate is skipped.

Near-duplicate briefs are merged, and the pipeline fills the resulting empty slots. Evidence links remain in the data model rather than being added during report formatting.

The demo uses synthetic feedback

The documented CloudDash demo processes 300 feedback items into 20 repeated problems and five build briefs. All customer and revenue values in that example are synthetic.

The demo shows the complete pipeline. It does not establish that the ranking matches product managers' decisions or improves customer outcomes.

Real-world validation remains open

Orbit has no customer-adoption claim. Evaluating the ranking with real feedback and product decisions is still necessary.

Churn detection uses phrases, so it can miss indirect signals or misread their context.

The documented implementation lacks direct unit-test coverage for clustering. Demo runs and quality checks provide some regression coverage, but do not replace that test coverage.

All projects →