A specific capability requested by users or customers, tracked with vote count and priority.
A feature request is a specific solutionSolutionDiscoveryA proposed approach to address an opportunityView reference → a customer asks you to build: "add a dark mode", "let me export to PDF", "give me bulk editing". It arrives as an instruction, which is the trap. The request is the most visible thing a customer hands you and the least reliable, because it has already collapsed a needNeedUserA user need, pain, desire, or constraintView reference → they feel into a solution they happened to think of.
The discipline around feature requests grew out of a long argument about how much to trust what customers ask for. The argument's mascot is the "faster horse" line, the claim that customers asked for faster horses would have missed the car. The line is almost certainly not Henry Ford's; Quote Investigator traces its earliest attribution to him only to 2001, decades after his death, and the Harvard Business Review noted there is no record of him saying it. The fabricated quote is still useful as a parable: a request names a solution ("faster horse") that points at a real underlying need (get places quickly, with less hassle) without naming it. The jobJobUserJob To Be Done: what the user is trying to accomplishView reference → is to recover the need from the request.
Lean and discovery practice gave the parable a method. Teresa Torres's opportunityOpportunityDiscoveryA validated gap worth solvingView reference → solution tree, set out in *Continuous Discovery Habits* (2021), draws a hard line between an opportunity (a customer need, pain, or desire framed in the customer's terms) and a solution (anything you might build to address it). Her test for any incoming request is blunt: is this really a need or a pain point, or is it a solution in disguise? A feature request is, almost by definition, a solution in disguise. Treating it as the start of an investigationInvestigationEngineeringAn investigation into an issue or incidentView reference →, never as an order on the backlog, is the shift the field made.
The vote-counting trap is the modern complication. Public roadmapsRoadmapProduct SpecificationA strategic plan of features and milestonesView reference → and feedback portals let requests accumulate upvotes, which feels like prioritisation but quietly biases toward the loud, the existing, and the easy to articulate. Counting votes on solutions tells you which solutions are popular among people who already use the product and bothered to post. It does not tell you which need, once met, would change the business, and it never hears from the people who left.
A B2B tool collects 140 requests for a "duplicate project" button over a quarter. Vote-counting says build the button. The team instead reads the requests as clues and interviews a dozen of the requesters. The underlying need turns out to be setting up near-identical projects for new clients without redoing twenty fields each time. A duplicate button solves the narrow case. A reusable project template solves the actual need, serves people who never thought to ask for duplication, and opens an onboarding-acceleration opportunity worth more than the original featureFeatureProduct SpecificationA product capability or featureView reference →. The 140 votes were a real signal of demand and a poor specification of what to build.
In the Unified Product Graph, Feature RequestCustomer FeedbackA user-submitted feature request sits in the feedback region as a clue, wired so it can never quietly become a roadmap line by itself. feature_requestFeedback ProgramcollectsFeature Requesthierarchy and feedback_program_collects_feature_requestCustomer FeedbackbecomesFeature Requestcross-domain record where requests come from, and customer_feedback_becomes_feature_requestProducthasFeature Requestcross-domain and product_has_feature_requestFeature RequestfromBehavioral Segmentcross-domain attach them to the product and to who is asking. feature_request_from_behavioral_segmentFeature Requestvoted on byFeedback Votehierarchy captures demand without letting the count masquerade as a decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →. The load-bearing edge is feature_request_voted_on_by_feedback_voteFeature RequestcreatesOpportunitycross-domain: it forces the request through the opportunity layer before anything gets built, which is the graph encoding the lesson the field learned, that a request is evidenceEvidenceValidationData supporting or refuting a hypothesisView reference → of a need and not an instruction to satisfy it.feature_request_creates_opportunity
Type-specific fields on BaseNode
request_sourcestringWhere the request originated
vote_countnumberNumber of votes or upvotes from users
signal_sentimentstringDetected sentiment of the request
signal_channelstringChannel through which the request was received
signal_urgencystringPerceived urgency of the request
revenue_impactobjectEstimated revenue impact if implemented (1-5)
effort_estimateobjectEstimated implementation effort (1-5)
impact_scorenumberComputed impact score combining reach, revenue, and effort
etastringEstimated delivery date (ISO format)
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
6 phases — initial: new
7 edge types connected to this entity.
feedback_program_collects_feature_requestfeature_request_voted_on_by_feedback_votefeature_request_creates_opportunitycustomer_feedback_becomes_feature_requestproduct_has_feature_requestfeature_request_from_behavioral_segmentfeature_request_in_feature_area