We want an automated dispatch service that assigns the best available rider as soon as an order is marked ready for pickup, so customers wait less and riders stay productive. The selection should weigh where riders are right now, the direction they’re heading, how many orders they already carry, and the restaurant’s location. Decisions need to be fast and reliable. Rider locations arrive continuously. We’ll run this as a Node.js/Express service, keep precise geo data in PostgreSQL with PostGIS, and use Redis Geo to cache each active rider’s latest state so we can quickly pre-filter nearby candidates before a deeper PostGIS check. Location updates are delivered via Kafka.