Skip to content

oldregime/PotholeTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 Pothole & Road Anomaly Tracker

A premium, open-source, privacy-first Android application designed with Google's latest Material 3 (Material You) guidelines, optimized for Android 15. The application dynamically monitors and maps road conditions (potholes, speedbreakers, and swerves) using physics-based motion sensors while strictly preserving user privacy.


🔒 Privacy-First Sensors (No Camera/Microphone)

Unlike legacy road-tracking applications, Pothole Tracker is fully offline and privacy-respecting. It strictly excludes camera, microphone, and internet network access permissions, operating entirely on-device using physical motion dynamics:

  • Linear Accelerometer (Z-Axis): Detects abrupt vertical displacements and impact forces (potholes, severe bumps).
  • Gyroscope (Roll/Pitch/Yaw): Identifies vehicle rotational tilt to differentiate straight bumps from sharp turns/swerves.
  • Barometer (Pressure Sensor): Tracks micro-level atmospheric air pressure fluctuations to capture rapid elevation hops (bumping up or dropping down).
  • GPS (Coarse/Fine Location): Logs precise coordinates ($latitude, longitude$) and speed strictly locally at the exact millisecond an anomaly triggers.

🎨 Material 3 Live Dashboard

The application features a modern, fluid user interface designed using Jetpack Compose and Material 3 design tokens:

  • Live Wave Graph (Canvas): A real-time Compose Canvas drawing showing a fluid wave representing your phone's Z-axis vibrations.
  • Privacy Shield Guard: Explicit visual indicators confirming that camera/microphone permissions are excluded.
  • Live Telemetry HUD: Cards indicating vehicle speed (km/h) and a running counter of mapped potholes.
  • Scrolling Anomaly Log: Cards that dynamically color-code severity (Severe = Red, Medium = Orange, Low = Yellow) with precise speeds and timestamps.

🛠️ Tech Stack & Architecture

  • Language: Kotlin (100%)
  • UI Framework: Jetpack Compose (Material 3)
  • Architecture: Clean Architecture (MVI / MVVM pattern)
  • SDK Target: Android 15 (API 36)
  • Min SDK: API 24 (Android 7.0)
  • System Tools: Android Sensor Manager, Location Service API

🗺️ Future Development Plan

🚀 Phase 1: Local Storage & Mapping (Short-term)

  • Room Database Integration: Persist detected road anomalies locally so they remain visible across device restarts.
  • Offline Maps Visualizer: Integrate OpenStreetMap or MapLibre for offline mapping, allowing users to view all their detected potholes directly on an interactive map locally without sending data to servers.
  • Export Formats: Add local export capabilities for .gpx, .kml, or .csv files so users can share their mapped roads with city planning departments.

🧠 Phase 2: On-Device Machine Learning (Medium-term)

  • TensorFlow Lite Integration: Replace static threshold triggers ($Z > 4.5 \text{ m/s}^2$) with a lightweight, trained on-device Neural Network to dramatically reduce false positives (e.g. distinguishing a pothole from a standard expansion joint or rail track crossing).
  • Vehicle-Type Profiles: Calibrate sensor sensitivity based on vehicle types (Compact car, SUV, Motorcycle, Bicycle) since suspension systems impact sensor inputs differently.

🌐 Phase 3: Open-Source Peer-to-Peer Sync (Long-term)

  • LocalSync / Syncthing API: Allow users to securely sync their local pothole databases directly to their private computers (using local Wi-Fi protocols, fully offline).
  • Crowd-Sourced P2P Map: A decentralized, peer-to-peer mapping system where users can anonymously share road condition heatmaps without relying on centralized corporate cloud servers.

📦 Getting Started

  1. Clone the repository:
    git clone https://github.com/oldregime/PotholeTracker.git
  2. Open the project in Android Studio (Ladybug or newer).
  3. Connect your Android device (ensure USB/Wireless debugging is active).
  4. Hit Run / Compile to deploy!

📄 License

This project is open-source and licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages