Operations software
Security patrol route planner
Plans security patrols around travel time, coverage requirements and operating constraints.
30% less overlap and idle time across patrol shifts.
- Stage reached
- Delivered
- Sector
- Field operations
- Organisation
- Security operations
My contribution
I built the Python optimisation tool and its Google Maps integration.
- Patrol and scheduling constraint model
- Google Maps travel-time data
- Operator-readable route plans
The result
30% less overlap and idle time.
Engagement
Operational analysis and decision-tool delivery
The problem
Patrol routes were coordinated by hand, with no systematic way to account for travel time, coverage obligations and overlap between teams. Guards doubled back over ground a colleague had just covered, then sat idle waiting for the next interval window. Both are paid hours, and neither shows up in a report.
How it was approached
- Encode the real planning rules, including required stops, intervals, dwell times and shift types, before choosing an optimisation method.
- Replace travel-time assumptions with Google Maps distance and duration data.
- Optimise against overlap and idle time rather than shortest distance, because distance was never the cost.
- Return plans in an operator-readable form, so a coordinator can review before field use.
How far up the stack the work reached
The sites, the guards and the inspection obligations already existed. The model, the optimiser and the output the coordinators work from were built here.
Operation
Patrol vehicles, guards and contracted coverage obligations.
Rules
Per-site inspection rules: intervals, variance, dwell and shift windows.
Inputs
Site addresses and live travel-time data from Google Maps.
Compute
Python model of routes, stops and constraints.
Decision
Optimisation across coverage, travel and idle time.
Action
Shift-by-shift route plans returned to coordinators.
Engineering load
Mechanical
Electrical
Embedded
Software
Operations
What was built
Model the operation
Turn coverage, timing and team constraints into a solvable problem.
- Per-location rule sets with minimum and maximum inspection intervals
- Target dwell duration and permitted variance per site
- Separate weekday, weekend, night and public-holiday shift profiles
- Baseline overlap and idle-time analysis to measure against
Build the optimiser
Python optimisation against real travel data, not estimates.
- Google Maps travel duration and distance lookups
- Route scoring and candidate improvement
- Constraint-aware plan generation per shift type
Make the output operational
A plan a coordinator will actually use.
- Ordered stop lists with arrival times, travel and dwell per stop
- Total route duration and distance per shift
- Comparison against the existing plan before rollout
What changed
30%
Less overlap and idle time
The planner cut combined overlap and idle time across patrol shifts by 30%.
Per-shift plans
Weekday, weekend, holiday
Each shift profile generates its own route, with arrival times and dwell per stop inside the contracted interval windows.
Rule-driven
Not distance-driven
Routes respect minimum and maximum intervals, target dwell and permitted variance, rather than minimising kilometres.
Technical stack
Python
Google Maps API
Route optimisation
Operational modelling
Capabilities applied
Optimisation
Workflow analysis
Decision tooling
Operational software
Next project
AROBOTIX
Crews work from the building model instead of from spreadsheets and memory.