The share-of-choice product design (SOCPD) problem is to find the product, as defined by its attributes, that maximizes market share arising from a collection of customer types or segments. When customers follow a logit model of choice, the market share is given by a weighted sum of logistic probabilities, leading to the logit-based share-of-choice product design problem. At first glance, this problem appears hopeless: one must optimize an objective function that is neither convex nor concave, over an exponentially-sized discrete set of attribute combinations. In this paper, we develop an exact methodology for solving this problem based on modern integer, convex and conic optimization. At the heart of our methodology is the surprising result that the logit-based SOCPD problem can be exactly reformulated as a mixed-integer convex program. Using both synthetic problem instances and instances derived from real conjoint data sets, we show that our methodology can solve large instances to provable optimality or near optimality in operationally feasible time frames.