We develop a model for two-sided markets with consumers and producers, who interact through a platform. Typical settings for the model are the market for smartphones with phone users, app producers, and smartphone operating systems; or the video game market with game players, video game producers, and video game consoles. Only consumers who purchase the platform can access content from the producers. Consumers are heterogeneous in their gains from the producer side; and producers are heterogeneous in their costs of bringing apps to the platform. We consider competition between two homogeneous platforms that allows consumers and firms to optimize with respect to how they home, i.e. we allow both individual consumers and individual producers to multi-home or single-home depending on whether it is optimal based on their type. This leads to multiple equilibrium allocations of consumers and firms - all of which are seen in existing markets. We then find conditions under which a monopoly platform generates higher surplus than two competing homogeneous platforms.