Why We Built a Web Planner Before the App
If you've been following Neverempty, you know the plan has always been an app: something that talks to your motor in real time, follows the terrain, adjusts the assist, and tells you exactly how much battery you'll have left when you roll back home. That's still the plan. But before the app exists, we've put out a web-based route planner — no install, no account, just a browser and a GPX file — and I want to explain why.
The honest reason
The app depends on something I don't fully control: Bluetooth access to motor systems that manufacturers currently keep locked down. I've had conversations with a few of them. They've been polite, interested, and non-committal — which, if you've dealt with hardware OEMs before, you'll recognize as a very normal, very slow kind of "maybe." So I decided not to sit around waiting for a yes before doing anything useful.
So instead of waiting on manufacturer permission, I built the one part of Neverempty that doesn't need it: the calculation engine. If I can predict your energy consumption and remaining range from a route file and a battery capacity, none of that requires talking to your bike at all. It just needs the numbers, in advance.
That's the web planner. And putting it out now, ahead of the app, does two things I actually need:
It gets the model in front of real riders on real routes, which is the only way to find out where it's wrong. I'd rather find the model's blind spots now, from feedback, than after the app ships.
It builds a small group of people who already trust the tool, so when the app does arrive, it's not a cold launch — it's "the thing that already helped you plan that ride, now living on your bike computer."
So what it actually does
Upload (or paste a link to) your GPX route, tell it your battery capacity and which motor you're riding, and it gives you a Wh consumption estimate and predicted remaining range — broken down by how much of the ride you'd realistically spend in Eco, Trail, or Boost.
It's built for the actual decision most e-MTB riders are trying to make before a long day out: can I do this loop on one charge, or do I need to baby the battery on the way up to have enough for the way down?
How it works — and why it's not just a guess
This is the part I want to be direct about, because "AI route estimator" tools are everywhere right now, and most of them are exactly that — a language model pattern-matching against vague inputs and outputting a confident-sounding number. That's not what this is.
The planner runs a physics-based consumption model: elevation-smoothed gradient analysis, motor-specific power curves, and assist-level switching logic that mirrors how these systems actually behave on the trail (auto-switching between Eco and Trail based on gradient, Boost left as a manual override — because that's a discipline choice, not something you want an algorithm making for you).
More importantly, it's calibrated against real ride data, not just theory. I've taken this model out on actual e-MTB trips — comparing predicted consumption against what the bike actually used, on real climbs, in real conditions — and adjusted it where the physics and the real world disagreed. It has a documented calibration factor built in for exactly that reason. If a prediction is wrong, it's wrong in a way I can trace and fix, not a black box shrugging its shoulders.
Same engine as the app
This isn't a simplified demo version of some future "real" model. The web planner runs the same calculation engine that will sit inside the app. When the app launches, you won't be getting a new prediction system — you'll be getting the same one you can already use today, now fed by live motor data instead of a route file you uploaded in advance.
Where it's not finished yet
I'd rather tell you this straight than have you find out the hard way: right now the model is properly validated for two motor systems. I know there are other big players out there — Bosch's newer platforms, DJI's Avinox, and others — and I have placeholder support for a few of them already. But I'm not going to claim a prediction is reliable for a motor I haven't actually tested it against. It'll get there, motor by motor, as I get real ride data to calibrate on. I'd rather ship something narrower and honest than something broad and wrong.
Try it
The planner is live now — no waiting for the app, no account needed. Upload a route, see what it predicts, and if the number looks off from what you actually experience, that feedback is exactly what makes the model better for the next rider.