To build a system that matches available Uber drivers with riders, we need to consider several key factors. Firstly, we need to create a database of available drivers and their current locations. This can be done through a mobile app that drivers use to indicate their availability and location. Next, we need a system that can match available drivers with riders based on their pickup location and destination. This can be done through an algorithm that takes into account factors such as distance, traffic, and driver availability. Once a driver has been matched with a rider, we need to provide them with information about the pickup location and destination. This can be done through a mobile app that provides turn-by-turn directions and estimated time of arrival. Finally, we need to ensure that the system is scalable and can handle a large number of drivers and riders. This may require the use of cloud computing and other scalable technologies. Overall, building a system that matches available Uber drivers with riders requires careful planning, sophisticated algorithms, and a commitment to providing a seamless and reliable user experience.