Back to Projects

Vanlynk | Route Optimization

Development
2025

A planning workspace inside "Vanlynk" field service platform's dispatch board. It lets dispatchers turn a list of jobs into an ordered driving route for a technician or a crew

Vanlynk | Route Optimization

Overview

Route Optimization is a planning workspace inside Vanlynk field service platform’s dispatch board. It lets dispatchers turn a list of jobs (“work orders”) into an ordered driving route for a technician or a crew, draw it on a live map, and with one toggle let the system reorder the stops automatically to drive fewer miles.

In plain terms: it answers “which tech goes where, in what order, today” while keeping distance and fuel cost down.

route-optimization-2.png

The Problem

Dispatchers already had every job sitting in the system, but no way to string those jobs into a sensible route. Sequencing was done by hand and by gut, which meant technicians covered their service area inefficiently and burned fuel. The business needed two things: a tool to assemble a route from existing work orders, and the ability to optimize that route to cut fuel costs without bolting on a separate third-party logistics product or forcing dispatchers out of the board they already lived in.

route-optimization-3.png

Technical Approach

The module is built as a three-panel workspace: Routes list , Build/Details panel , Google Map

Coordinated by a shell component that swaps panels based on a single mode flag (LIST, CREATE, EDIT, VIEW). The four panels never talk to each other directly. Instead they share a singleton service exposing RxJS BehaviorSubject streams that any panel can publish to or subscribe from. This mediator pattern keeps the panels decoupled — selecting a route in the list pushes it onto a stream, and the map and detail panels react independently.

Routes can be built two ways: manually, by dragging stops into order (Angular CDK drag-and-drop), or AI-optimized, where the selected jobs and a chosen endpoint are sent to the backend that returns the optimized ordering. Mapping leans on Google Maps via @agm/core, with the Directions API drawing each stop and the Geocoder reverse-resolving a technician’s GPS coordinates into a readable address.

Each route path, fetch its detailed path from the Directions API, then test the tech’s last-known GPS point against that path with geometry.poly.isLocationOnEdge and a distance tolerance. paths already traveled render solid orange, the upcoming path renders dashed green. A guard ensures a location only counts as “live” if its timestamp is from the same day as the route.

Other Projects

Vanlynk | Staff Simplification

Vanlynk | Staff Simplification

Development UI/UX Design

A ground up rebuild of the staff management module for vanlynk - field service platform

Vanlynk | Work order Simplification

Vanlynk | Work order Simplification

Development UI/UX Design

A ground up rebuild of the work order module for vanlynk - field service platform

Vanlynk | Running Costs

Vanlynk | Running Costs

Development

A financial command center for an individual job. As a technician works, every cost that accrues against the work order materials