Inspiration
Field service and delivery dispatchers lose information every single day to a simple problem: figuring out which of their field technicians/drivers are closest to a job at a given time. While real-time sensors can be enabled on vehicles, privacy may be a concern for certain drivers/companies. Additionally, real-time sensors (Electronic Logging Devices) can be costly. To work around this, dispatchers either call around one by one, eyeball a whiteboard, or just guess. This results in loss of time, slow service etc. We wanted to replace that guesswork with something instant, informative and privacy focused.
What it does
Cyclops lets an employer send a single request instantly which reaches every available driver. Dispatchers request the current location of their drivers, and Cyclops allows the drivers to opt-in to sharing their location at that instant. Once a driver consents to sharing their location, Cyclops calculates real driving ETAs to the destination for everyone who responded. The dispatcher sees all the coordinates of all drivers who responded along with a suggestion on who the closest driver is to the destination address (e.g. a warehouse). Once the dispatcher accepts the suggestion with one tap, the route preview is drawn on the map that can be viewed by the drivers.
How we built it
- Android (Kotlin) for the employer and driver-facing apps.
- Firebase Firestore for real-time state
- Firebase Cloud Functions and Firebase Cloud Messaging to react to request creation, final assignment, and handling notifications.
- Google Maps SDK for Android for live driver markers, warehouse location, and route polylines.
- Google Directions API to convert raw GPS coordinates into real ETAs and turn-by-turn route data.
- A timeout-based fallback system so dispatch doesn't stall forever waiting on stragglers. It finalizes with whoever has responded once either everyone's answered or a time limit passes.
Challenges we ran into
- Figuring out the user flows along with the architecture
- Resolving a timeout that could fire mid calculations
Accomplishments that we're proud of
Building a whole mobile app that can be demoed
What we learned
- Building a serverless app
- Deploying cloud functions on Firebase
- Integrating the Google Maps and Directions API
What's next for Cyclops
- Multi-stop routing for drivers already en route to another job.
- Improving or adding more security options.
- Persisting driver history and average request time to improve future dispatch decisions.
Built With
- firebase-cloud-functions
- firebase-firestore
- google-directions
- google-maps-sdk
- kotlin
Log in or sign up for Devpost to join the conversation.