V3-04 through V3-07, V3-10, V3-16 shipped complete; V3-11/V3-12/V3-14 shipped code-complete pending device/account verification; V3-08/V3-09 deferred behind a new V3-17 (self-hosted OSRM investigation). 316 tests passing, up from 221. The APK is a fresh release build (debug-signed, no release signing config exists yet) with two build fixes applied: core library desugaring enabled for flutter_local_notifications, and sentry_flutter bumped to 9.27.0 (8.14.2's bundled Kotlin plugin was incompatible with this project's Kotlin 2.4.0 toolchain).
3.2 KiB
Rippr — copies held here
Rippr is a GPS ride recorder for motorcycles. There are now two codebases, and neither has a git remote — they exist only on that machine, so the bundles below are the only off-machine copies of their history.
| Repo | What it is |
|---|---|
~/dojo/rippr |
The original native Android app (Kotlin, v1 → v2.0.1). Superseded, but still the only version that has recorded real rides. |
~/dojo/rippr-flutter |
The Flutter port — Android and iOS. Feature-complete, better tested, never yet ridden. |
Snapshots taken at: native ba57a92, Flutter 70d68b2.
What is here
| File | Purpose |
|---|---|
rippr-flutter-src/ |
Flutter port, browsable source (git archive HEAD) |
rippr-flutter-history.bundle |
Flutter port, full git history — the actual backup |
rippr-flutter-1.0-debug.apk |
Installable Flutter build (com.rippr.port) |
rippr-src/ |
Native app, browsable source |
rippr-full-history.bundle |
Native app, full git history |
rippr-2.0.1-debug.apk |
Native app, latest installable build (com.rippr) |
rippr-2.0-debug.apk, rippr-1.0-debug.apk |
Older native builds |
The two APKs use different application ids on purpose (com.rippr vs
com.rippr.port), so both install side by side. That is not an accident — validating the
port depends on recording the same ride on both at once.
Installing
See INSTALL.md for Android and iOS, including the sideloading route for iPhone (which needs a Mac and takes about ten minutes).
Restoring either repo
git clone rippr-flutter-history.bundle rippr-flutter
cd rippr-flutter && flutter pub get && dart run build_runner build
flutter test
# or the native app
git clone rippr-full-history.bundle rippr
cd rippr && echo "sdk.dir=$HOME/Library/Android/sdk" > local.properties
./gradlew assembleDebug
Both need JDK 17–21 for Android — AGP does not support 25.
Where to start reading
Inside rippr-flutter-src/:
README.md— status, and the two bugs the port found in the native appdocs/port/PARITY-AUDIT.md— feature by feature, with the evidence behind each claimdocs/port/REAL-RIDE-CHECKLIST.md— the outstanding workdocs/ARCHITECTURE.md— why it is built this waydocs/port/PROGRESS.md— everything that went wrong during the port
Inside rippr-src/ (native): docs/v2/PROGRESS.md and docs/TESTING.md remain the
record of how the app got here.
Keeping these current
cd ~/dojo/samplez
rm -rf rippr-flutter-src && mkdir rippr-flutter-src
git -C ~/dojo/rippr-flutter archive HEAD | tar -x -C rippr-flutter-src
(cd ~/dojo/rippr-flutter && git bundle create /tmp/fb.bundle --all) \
&& mv /tmp/fb.bundle rippr-flutter-history.bundle
rm -rf rippr-src && mkdir rippr-src
git -C ~/dojo/rippr archive HEAD | tar -x -C rippr-src
(cd ~/dojo/rippr && git bundle create /tmp/rb.bundle --all) \
&& mv /tmp/rb.bundle rippr-full-history.bundle
git bundle verify rippr-flutter-history.bundle
git bundle verify rippr-full-history.bundle
The exports wipe those directories wholesale, which is why this file and INSTALL.md
live at the repo root rather than inside them.