upvote
I agree with you that at a large scale this is a problem. The one thing I decided very early on (when thinking about if/how I would grow this app beyond my family), is that this is for people who trust each other. If you don't trust the other people in your group to be responsible with the vehicle, then this app isn't gonna help. I'm trying to make the experience more smooth, not necessarily completely painless.

Regarding automatic tracking tho, the easiest option is Bluetooth based, the app knows the identity of the car, when the phone connects, it knows you're probably starting a trip. And the same goes for connected car APIs, those can much easier take the place of an OBD-II reader.

reply
there exist Bluetooth OBD2 modules. imagine hot gluing one to an ESP32 which has chipset capacity to handle simultaneous Bluetooth connexions. with some ESPIDF fiddling, one could forward OBD2 sensor statistics to an Android app connected to the ESP32 via Bluetooth. by providing unique user IDs in the app, GPS tracking is rendered optional; assuming sensor statistics are direct accessible via OBD2, an assumption can be made that any delta in statistics is assignable to the 1 connected user (ie. driver). the OBD2 data (and metadata derived from the app eg. user ID, timestamp) could then be forwarded from the Android app to a remote database. furthermore, a web UI could draw on the remote database to present statistics neatly, both in the Android application and externally.

a doable solo project, depending on whether existing cheapo OBD2 readers have good coverage of ECU data. if anyone sees this and has a point to make, please do let us know, otherwise this a donation to the noosphere that i will look into eventually if the feasibility/target market presents. the OP should also consider looking into this if he wants to be a sick cunt for his family (more than he already has been) - he would need a hot glue gun, and to know C (for ESP-IDF), Java (for Android), SQL (for database), and HTML/CSS/JS (for web). web is the champion use case of large language models, so this one section can be vibe coded, otherwise LLMs should only be used to learn how each function works as the system gets broken down into individual submodules.

reply