A computer system provides product selections to a user according to a
needs analysis. A database stores pre-generated product configurations
and product configuration information. The product configuration
information includes product features and product rules governing
allowable combinations of the product features. Received product related
data can include different types of information such as attribute
information and product identifier information. The received product
related data is processed to determine the type of received information.
If the type is attribute information, the received product related data
is filtered in accordance with the product configuration information and
one or more product configurations that meet requirements of the received
attribute information is identified. If the type is product identifier
information, one or more of the pre-generated product configurations that
corresponds to the received product related data is identified. Each
identified product configuration and each identified pre-generated
product configuration is provided to the user.