Principles

Local and honest — by construction.

OpenLevo exists because your bike generates fascinating data and you should own all of it. Your data never leaves your phone unless you export it, and the app never shows you a number it can't stand behind.

Local-first is a promise, not a feature

No account, no cloud

Pairing, riding, recording, range, and tuning all work with zero network. There is no server because there is nothing a server should know about your rides. Your activities are files on your phone — exportable as FIT/GPX with rider and motor power as separate channels.

Privacy by default

Your bike's serial number and your home location are excluded from every share and export unless you explicitly opt in. No analytics SDK ships in the app, and this website carries no trackers, no cookies, no fingerprinting.

Yours to keep

Your rides are files on your phone, not rows in someone else's database. Export any of them as FIT/GPX and take your data wherever you like — the honest math travels with it, rider and motor power as separate channels.

What OpenLevo will never do — and why

These are settled decisions, written down, and guarded by automated tests. They will not be re-opened, and pull requests that cross them are rejected on sight.

Speed derestriction, in any form

No slider, no hidden gesture, no "debug menu". Removing the assist cutoff legally reclassifies your bike as an unregistered motor vehicle — illegal on trails and paths, voiding warranty and insurance, and shifting crash liability onto you. It also overruns the motor's thermal duty cycle. Worst of all, it's the single biggest reason e-MTB trail access gets revoked for everyone. No code path in OpenLevo writes the speed-limit parameter — and a regression test proves it on every release.

Settled decision D-001 · regression-tested

Undocumented writes to your bike

The protocol is reverse-engineered. Writing unverified parameters risks a configuration your dealer can't recover. OpenLevo writes only the documented tuning set — and reads every write back to verify it took.

D-002 · D-009

Firmware installation

Without a validated recovery path, flashing firmware can brick a motor. OpenLevo reads version information and nothing more.

D-003

Tuning while you're moving

The rider stays in control. Every write requires a standing-still bike and an explicit confirmation showing exactly what changes. Nothing "optimizes itself" mid-descent.

D-005

Estimates dressed as measurements

Every number carries its provenance — measured, derived, or estimate. Range projections wear a ~ and a confidence band that widens when the model knows less.

D-006

Losing your ride

Recording is phone-authoritative and journaled to disk as it happens. A Bluetooth drop, a locked screen, or even a crash costs you seconds of data, never the ride.

D-007

Where the project stands

Honest status, like everything else here.

Today

Working now Protocol layer with verified framing and encryption (tested against FIPS/NIST vectors), bike discovery and identification, live telemetry cockpit, the terrain-aware range model, and crash-safe ride recording with GPS — all covered by an automated test suite.
Being careful about Bluetooth behavior is validated on real hardware before any bike generation is declared "supported" — simulator green is not enough. Tuning writes ship last, behind that same hardware gate.
Coming Apple Watch surface, Live Activity, HealthKit workout sync, FIT/GPX export, tuning studio, and the Garage's long-term records.