Imagine you're working for an online platform that helps users discover rental properties. You have access to user data, including demographic details and preferences, as well as a database of available rental units. This database contains information such as property features, price, user reviews, location, and city-specific attributes. How would you design a recommendation system to assist users in finding their ideal rental property?