Self-host Valhalla & OSRM
Stand up your own routing engine on OpenStreetMap data — route, matrix, isochrone, map-matching — running in your cloud, on your terms.
kill the Google Maps bill
$ whoami — available for consulting
Roads in. Routes out. I'm a software engineer who'd rather engineer than just build — I design, scale and productionize self-hosted routing engines (Valhalla & OSRM) so your team owns its routing stack instead of renting it from Google.
$ neofetch o---o abhishek@routing-engine / \ ------------------------ o o o Role: Principal Engineer @ FarEye \ | / Domain: Routing · Optimization · Geo o--o--o Engines: Valhalla, OSRM, GraphHopper | Stack: Ruby on Rails, Python, Go, C++, K8s x Data: OpenStreetMap · PBF · GTFS Scale: last-mile telematics @ fleet scale Uptime: shipping software since 2015 $ ./optimize --routes --realtime █
// what I do
Anyone can docker run a routing container. Making it survive real
traffic, real map updates and real customers is a different sport. That's the part
I've done over and over — and the part I'll do for you.
Stand up your own routing engine on OpenStreetMap data — route, matrix, isochrone, map-matching — running in your cloud, on your terms.
kill the Google Maps billSub-second N×N matrices feeding VRP and dispatch. I've tuned Valhalla and OSRM for high-throughput matrix workloads without the latency cliff.
high-throughputVehicle restrictions, weight/height limits, turn penalties, time-based access, hazmat and last-mile constraints baked into the graph.
domain-awareAutomated PBF extracts, tile/graph builds and scheduled refreshes so your map is never months stale — with zero-downtime swaps.
always freshKubernetes autoscaling, health checks, caching, load tests and dashboards — the boring reliability that keeps routing up at 3am.
production-gradeA measured migration path from paid APIs to self-hosted routing — parity tests, cost model, cutover plan, no surprises.
own your stackStreaming device pings into real-time vehicle state — moving, idle, stopped — with clean storage, geofencing and event triggers that don't fall over under load.
real-time telematicsCapacity- and feasibility-aware time-slot booking wired straight into routing — so the promise you make at checkout is one the fleet can actually keep.
capacity awareHPA autoscaling, Helm-packaged deploys, resource tuning and zero-downtime rollouts — routing infrastructure that scales up for peak and back down for the bill.
HPA · Helm// selected work
A few representative problems I've solved with self-hosted routing — anonymized, but the engineering is real.
Problem A last-mile fleet was metered on every Google Directions call — costs scaled linearly with growth, and truck constraints were impossible.
What I did Stood up Valhalla on OpenStreetMap in their cloud, built a custom truck costing profile (weight/height/turn rules) and an automated tile-refresh pipeline, all containerized on Kubernetes.
Problem Route optimization was starved — the distance/time matrix API was too slow and too costly to compute the N×N inputs a VRP solver needs.
What I did Deployed OSRM with the MLD pipeline, tuned it for
high-throughput /table queries, and put it behind autoscaling with caching
so peak dispatch never stalls.
Problem Customers picked delivery slots the operation couldn't actually serve — broken promises, failed deliveries, angry support tickets.
What I did Built a capacity- and feasibility-aware slot-booking engine that checks each slot against live routing feasibility before it's offered — so the promise at checkout is one the route can honor.
// about me
At FarEye I architect the real-time engine behind last-mile logistics — GPS-ping processing, alerts, slot-booking and multi-point routing for real fleets on real roads. Alongside that I take Valhalla and OSRM from raw OSM all the way to hardened, autoscaling production on Kubernetes.
Outside my day job I take that same playbook to other teams as a consultant — helping startups and enterprises skip the year of trial and error and get a routing stack they actually control.
Read the full story →// currently
Updated Aug 2026 · Noida, India
// writing
Both are excellent and free — but they make very different trade-offs. How I pick.
The N×N matrix is where routing quietly falls over. Patterns to keep it sub-second.
Moving off paid APIs without breaking prod — parity tests, cost model, safe cutover.
// let's build
Book a free discovery call. Tell me your routing problem; I'll tell you exactly how I'd solve it, self-hosted, in your infra.