Serpentine — Support
Serpentine plans motorcycle rides on curvy, quiet roads — loops and out-and-backs — and hands them to Apple Maps for voice guidance. For electric bikes it also plans charging stops.
Contact
Email pfh@phfactor.net with questions, bug reports or a ride that came out wrong (a screenshot and where you started helps).
What does it cost?
Nothing. Serpentine is free: no subscription, no in-app purchases, no trial, nothing held back for a paid tier. The planning runs on my own hardware, so there's no per-ride bill to pass on.
If it found you a road worth riding and you'd like to say thanks, there's a coffee link on the product page. It's off this site on purpose — there's no payment processor here and no payment code in the app, so nothing ever sees your card. Giving nothing changes nothing about the app.
Can I use it to just get somewhere?
Yes. Pick "Go somewhere", choose your destination and turn on "Just get me there": Serpentine takes the fastest route, freeways included, and still plans any charge stop you need. Leave that off and it finds the better roads instead, within whatever extra time you allow.
I just installed it. What do I do?
Tap Ride a famous road under Start. It plans a real ride on a road worth riding — the Tail of the Dragon, the Million Dollar Highway, the Beartooth — without needing your location or any settings, so you can see what the app does straight away. The ride starts where the road does, not where you are.
These are planned the same way as any other ride, so nothing about them is a mock-up. When you want your own, set a start and plan a loop.
Can I plan by time instead of distance?
Yes — switch the plan screen from Distance to Time and say how long you have. Serpentine aims to bring you back under that time, and counts any charging stop against it.
I'm low on battery. What do I do?
Tap the bolt in the top bar, tell it what charge you have left, and Serpentine lists the public chargers it thinks you can still reach — sorted by how much of your battery the ride there would take, not by how close they are. Those are different lists: a charger over a hill can cost more than one twice as far on the flat, because climbing costs charge and so does going fast.
Each one shows what it would take and what you'd arrive with. Tap it and you get the route that spends the least charge getting there, which is usually not the quickest one. Anything beyond what's left in the pack is marked rather than hidden, and if nothing at all is in range you'll still see the nearest — somewhere to be towed to, or to aim for if you can nurse a few more percent out of it.
The estimates lean cautious, but they are estimates, made from a charge figure you typed in. Leave yourself room.
Can I stop part-way and finish the ride later?
Yes — that's what Pause is for, and it's built for exactly the case where you're half-way round and need a charger. Tap the pause button on a ride and Serpentine remembers the part you haven't ridden yet, telling you how it has split it so you can check. Go and charge, eat, or go home and come back tomorrow.
When you're ready, "Carry on with this ride" appears at the top of the plan screen. It picks up from wherever you are now, not from the spot you stopped at, so the miles you rode to reach a charger aren't ridden a second time. The rest follows the roads of the original ride.
One thing to watch on a loop: the start and the finish are the same place, so if you pause within a few hundred yards of either, Serpentine can't tell whether you've just set off or just got back. It assumes you've just set off and shows you the split — if it's wrong, tap "Not right" and it forgets.
Can I keep a ride I liked?
Yes. Tap Save on any planned ride and it goes to your saved list, where you can give it a star rating, write notes about it — gravel on a turn, the charger that was always busy — and record when you last rode it. Rides you haven't ridden yet live in the same list, so it doubles as a to-do list of roads worth trying.
A saved ride keeps the route exactly as it was planned, so it opens the same way every time and works without a signal. Saved rides live on your device only: they are never uploaded, and there is no account to sync them to. Deleting the app deletes them.
Can I send a ride to my Beeline or GPS?
Yes — tap Share GPX and send the file across. There's nothing to choose on this end: the file carries the whole route and your charge stops, and the device works out what it can do with it.
A Beeline asks how to import it. Say Turn-by-turn — that follows the roads we picked and gives you directions, and your charge stops come through as waypoints it counts down. Breadcrumb draws the line without directions, for trails. Waypoints only throws the roads away and keeps the stops, which is for building your own ride on the device. Kurviger, Calimoto and Garmin read the same file and need no special handling.
Two things to know before you set off. A device works out its arrival time from riding alone, so it will read earlier than ours — the time on the ride screen includes every charge stop. And if you leave the route, the device re-plans on its own and knows nothing about charging, so the charge plan is gone; pause the ride in Serpentine and carry on, and you'll get a fresh one from wherever you are.
A GPS may warn that turn directions are unavailable for a short stretch. That's usually a car park or a private road it can't route through, and the ride is unaffected.
Where it works
The United States, including Alaska and Hawaii. Starting points outside the US can't be planned yet, and a ride that would cross a border stops at it.
Requirements
iPhone or iPad with iOS 18.4 or later, and an internet connection to plan. Navigation uses the Apple Maps app.
Why does Apple Maps show several stops?
Apple Maps plans its own route between points, so Serpentine gives it stops along the planned roads to keep it on them. Tap to continue after each one.
How does Serpentine know if a charger is working?
It doesn't, for certain — nobody does. It checks what riders have reported to Open Charge Map: whether a charger is listed as in service, when it was last confirmed working, and whether people recently failed to charge there. A stop reported out of service is replaced. Treat the rest as a hint, not a promise, and take the backup seriously.
How accurate are the charging estimates?
Deliberately cautious: Serpentine would rather suggest a stop you didn't need than strand you. Stops are at public Level 2 J1772 and Tesla destination chargers, charging at the bike's 6.6 kW. Charger information comes from the U.S. Department of Energy and Open Charge Map, and can be out of date; check a charger before you depend on it.
Privacy
No accounts, no tracking, no ads, no third-party code. Your phone talks to one server —
serpentine.phfactor.net, a Mac in my house — and nothing else. A planned ride stays in
that server's memory for up to a day so sharing a GPX works, is never written to disk or logged, and
is then discarded. The access log keeps half an IP address for 30 days and no routes or locations.
Saved rides never leave your device. What isn't mine to promise: the map and the place search are
Apple's, so search terms go to Apple. Details in the privacy policy.