EV trip planner · mainland US · product overview

Every EV planner finds you a charger

This one also takes a detour to dodge a left turn

Leeway plans road trips from the range your car shows at 100% today, not the factory figure, and tells you what will be left in the battery when you arrive. Then it spends a detour budget you set, in minutes, on avoiding the left turn with no signal, the unsignaled crossing of a four-lane road and the rail crossing. In California it also routes around live Caltrans lane closures.

A two-minute neighborhood route drawn as a rectangle around a block, avoiding a crossing of West Olympic Boulevard, with the verdict card reading rerouted around 1 flagged spot for about +1 min.
A two-minute drive. Leeway spent one extra minute going around the block rather than crossing West Olympic Boulevard with no signal, and said so on the card.

263 → 205 mi

The 2021 Model 3 it was built around, new and five years on. Plan from 263 and the second leg comes up short.

+5 min

The default detour budget. Any flagged spot it can avoid for five minutes or less, it avoids; the rest it warns about.

15% / 30 mi

The reserve floor, whichever is tighter for your car. No plan counts on going below it.

3 trips

Log three substantial trips and later plans start correcting toward how your car actually drives.

The problem

Your car is not the car on the spec sheet

A 2021 Model 3 Standard Range Plus was rated at 263 miles new. The one this was built for now shows 205. Batteries lose capacity with age, and no two lose it at the same rate, so a planner working from the factory figure can hand you a charging stop you won't reach.

Leeway asks what your car does at 100% now and answers with how much room you will have on arrival. That margin is the name.

How far before the reserve floor

Leeway's own range formula and constants (backend/app/range_model.py), in its flat-road form. Real plans also walk the route's elevation profile, so hills change these numbers.

0miles to the floor, your car today
0if you planned from 263 mi
Miles to the reserve floor against temperature, for your range and for the factory 263 miles.
The chart sweeps temperature with everything else held where you set it. Move across it, or focus it and use the arrow keys. Cold costs 0.6% per °F below 60°F, heat 0.3% per °F above 85°F, headwind 0.8% per mph, highway 15%, and a passenger or bag adds 0.8% per 100 lb.

Main screen

Three inputs before it can answer

Where you're going, what the battery reads now, and what the car does on a full charge. The verdict card stays empty until you press Plan this trip, then fills with the arrival number, a gauge and every stop in order.

The Leeway main screen: a planning panel on the left over a full-screen map, with an empty verdict card on the right.
The planning panel, the map, and the empty verdict card.

A plan

Every stop checked before the plan says yes

Los Angeles to Santa Barbara by way of the Getty: arrive at

62%

0%reserve 15%100%

A 91-mile run with two stops, 2 h 49 min including about 48 minutes plugged in, 96 miles to spare, with range adjusted for 84°F and calm wind. The card's verdict line reads "Makeable with your reserve". Under it are the warnings for this route: a 9% grade descent a mile long with about 26 real bends after it, and a Caltrans lane closure on SR-2. It also says what it already did, which was to reroute around two flagged spots for a combined four minutes.

A planned route from Los Angeles to Santa Barbara with the verdict card reading Makeable with your reserve, arrive at 62 percent, 96 miles of leeway, followed by hazard warnings and the stop itinerary.
Arrive at 62%, with the warnings found on this route underneath.

The same job on the East Coast: New York to Boston, 223 miles, a Tesla Supercharger in Connecticut and an EVgo outside Worcester, picked from whichever network is there.

A planned route from New York to Boston through Connecticut and Massachusetts, arriving at 54 percent, with a Tesla Supercharger and an EVgo stop marked on the map.
New York to Boston: arrive at 54%, 81 mi of leeway.

Safety

How the avoidance works

Four hazards, each with its own switch: left turns across big roads, unsignaled crossings of roads with four or more lanes, rail crossings, and active Caltrans construction in California. Beside them is a detour budget: flag only, or +5, +10 or +20 minutes. At +5, Leeway routes around any flagged spot it can avoid for five minutes or less and warns about the rest. +5 is the default, so someone who never opens the options is still steered around the cheap ones.

Signals, lane counts and rail crossings come from OpenStreetMap; closures from the Caltrans feed; turn geometry is measured off the route line itself. Steep descents, twisty sections, sun glare and strong wind get a warning and no reroute. When the OpenStreetMap servers are slow, a hazard check gives up rather than hold up the plan, so a flag can go missing.

The Safety tab showing a hazard detour budget of Flag only, +5, +10 or +20 minutes, and four toggles for left turns, 4+ lane crossings, rail crossings and Caltrans closures.
Flag only, or spend 5, 10 or 20 minutes avoiding it.

Settings

The tabs are for when you disagree

The defaults are already the cautious answer, so a good plan needs nothing in here touched. Each control says what it does and what it costs. A collapsed tab shows a dot when something inside differs from the default, so a changed setting can't hide.

The Charging tab with charger network chips, charge-to percentage, reserve floor, arrive-with-at-least, and minimum charger speed.
Charging: networks, charge-to %, reserve floor, arrival minimum, slowest charger.
The Route tab with stops along the way and toggles for toll roads, highways and ferries.
Route: stops, tolls, highways, ferries.
The Trip tab with passengers, suitcases, departure time, a break-at-least-every slider and a manual temperature toggle.
Trip: passengers, luggage, departure time, breaks, temperature.

"No plan will ever count on dipping below this. Lower is braver, not smarter."

Helper text under the reserve floor

Finding a stop

Ask for a stop in a sentence

Type or speak into the bar above the map: "Add an In-N-Out stop after one hour of driving." Gemini turns the sentence into a search, including the budget buried in it: "won't add much time" means five minutes, "I don't mind a longer detour" means twenty. Each result is priced by routing to the door and on to your destination, minus the drive you were making anyway, and the list is ordered by that cost. If nothing fits the budget it says so instead of widening it.

The search bar with the phrase add a in n out stop after one hour of driving, and a results list of nearby places each showing how many minutes and miles it would add.
Every result priced in minutes added to the drive.

On the road, and after

A card for the drive, and a question afterwards

The trip card cuts the plan to what you need behind the wheel: leave with 68%, the Getty at 3 miles, the Supercharger at 60 miles where you arrive at 25% and charge to 80%, then 28 miles to arrive at 62%. It fits on one screen so it can be screenshotted, because the car's own screen can't open a web app. Any stop can also go out as a maps link, which the Tesla app accepts.

The Leeway trip card: leave with 68 percent, the Getty Museum at 3 miles, a Tesla Supercharger at 60 miles arriving at 25 percent and charging to 80 percent, then 28 miles to arrive at 62 percent.
Everything the drive needs, on a screen that doesn't scroll.

Next time you open Leeway it asks how the trip went and sets what happened beside what it predicted. After three or more trips that each used at least 10% of the battery, it starts correcting its estimates toward your car, weighting recent trips more. The correction is lopsided on purpose: a car that used more than predicted gets the full correction, one that used less gets half, and plans never get more than 10% bolder than the stock estimate. When a correction is in use, the plan says so.

A dialog asking How did that trip go, showing the predicted arrival and a field for the actual arrival percentage, with the verdict Spot on.
"How did that trip go?" This one was spot on.

Sample trips on a first visit are labeled "try:" so nobody mistakes them for their own history. When the routing quota runs out, the verdict says planning couldn't run instead of echoing your starting battery back as an answer.

Smaller things

The rest of it

Real range
Don't know your 100% range? Copy the battery % and the range shown off the car's screen and Leeway does the arithmetic. Each reading is dated, so the list doubles as a record of the pack's decline.
Alternatives
"See other routes" compares whole corridors (I-5 against the 101 against the 99) and replans along the one you pick. Skip a charger and the plan is rebuilt around the rest.
Your own stops
Click the map to drop a waypoint; drag any point to reorder. Three stops at most.
Departure time
Weather becomes that hour's forecast, sun glare is computed for then, and closures are filtered to what will still be active. A break rhythm ("at least every 2h35") plans stops for the driver too.
Addresses
When the main geocoder only finds the street, the US Census geocoder places the house number.
Accuracy record
Every logged trip, predicted against actual, with no favorable rounding.
Phone
Installs as a web app from the browser. A native iOS build in a Capacitor shell adds a reminder to log the trip once you should have arrived, and the system share sheet. No offline claim: every plan needs live routing, charging and weather data.
Privacy
No account, analytics or advertising. Range, preferences and trip history stay on your device.

Built on

Where the numbers come from

Free, on free infrastructure, covering the mainland US.

Routing
OpenRouteService: geometry, duration, and the elevation profile the range math walks.
Chargers
Open Charge Map: network, connectors, stall counts, power and cost.
Weather
Open-Meteo: live conditions, or the hourly forecast up to 7 days out.
Hazards
OpenStreetMap via Overpass: signals, lane counts and rail crossings.
Closures
Caltrans Lane Closure System. California only; no other state publishes a free equivalent, so the switch does nothing elsewhere.
Stop search
Gemini, to turn a sentence into a search.
Built with
React, TypeScript and MapLibre GL on GitHub Pages; FastAPI on Render; Capacitor for iOS.

Find out what's left in the battery