Full UI redesign pass complete: persistent tab shell with an always-visible background map, Modern Professional Dark theme, monochrome dark map tiles, offline skeleton map, a shared GlassPanel/FloatingPill component kit, customizable HUD telemetry widgets, and the Map HUD / Plan & Route Planning / Rides History screen rebuilds. 374 tests passing, up from 316. The APK is a fresh release build (debug-signed, no release signing config exists yet). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Xki7YAcc2TiN2PRZJ2tXr
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 04127d7.
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.