Pit Log
Pit Log is an offline-first Android app for hobby stock and thunder car asphalt ovals. It keeps race nights, tire pressures, tire heat, and the car's setup on the phone. Two phones can share a car through the sync server.
Pressures are PSI. Tire heat is °F, read inside, middle, then outside.
On the phone
The gear icon opens Car. A new install already has the server address filled in:
http://sync.sleepingliongames.com:27017
Sync on its own sends a save right away and checks about every 30 seconds while the app is open. It stays quiet while the app is closed. Sync now sends every car on the phone.
Each car has its own token, shown on the Car screen. Share token sends that string to another phone. On the other phone, paste it under Add a car from a token. That phone then syncs that car. A different car gets a different token.
Remove from this phone takes the car off that phone only. The other phone and the server keep it.
The book icon opens the setup guide. Car setup on the home screen is the original setup for the selected car, plus a log of later changes. A race night keeps its own chassis sheet.
Sync server
The server is one small Python program, sync/pitlog_sync.py. It listens on the Pelican allocation port and stores each car token in its own database file. GET /health returns {"ok":true}.
Phones use plain HTTP. The address above is the live server.
Pelican
Import this egg into a nest on the panel:
https://git.ny.daprogs.com/RallyBlock/Pit-Log-App/raw/branch/main/sync/egg-pitlog.yaml
Create a server from Pit Log sync. Use the Python 3.13 image, one port, and leave Token blank. The startup command is:
/usr/local/bin/python /home/container/pitlog_sync.py
Start the server. The console prints Pit Log sync listening and the port. Phones use http:// plus the allocation address and that port.
A reinstall downloads pitlog_sync.py again from this repo. If the panel wipes server files, the phones still have their logs and send them on the next sync.
Build
The Android package is com.racingapp.pitlog. It needs an Android SDK and JDK 17 or newer. Put the SDK location in local.properties:
sdk.dir=C\:\\Users\\you\\AppData\\Local\\Android\\Sdk
That file stays off git. From the project root:
gradlew.bat assembleDebug
Build output is written to D:\RacingAPP-build so it stays out of a synced project folder. The debug APK is:
D:\RacingAPP-build\app\outputs\apk\debug\app-debug.apk
APK files are gitignored.
Layout
app/is the Android app.sync/pitlog_sync.pyis the sync server.sync/egg-pitlog.yamlis the Pelican egg.preview/holds screen pictures used while looking at the UI.