Kavod Technologies
Smart Fixxr: Real-Time Diagnostics and Mechanic Matching
EngineeringSmart Fixxr

Smart Fixxr: Real-Time Diagnostics and Mechanic Matching

Oluwaseun Adebayo
Oluwaseun Adebayo
December 14, 202513 min read
Oluwaseun Adebayo

Oluwaseun Adebayo

Senior Algorithm Engineer

Oluwaseun specializes in graph algorithms, optimization, and real-time matching systems for Kavod's mobility platforms.

Bringing Vehicle Diagnostics into the Digital Age

In most African cities, getting your car diagnosed means driving to the nearest mechanic, waiting while they pop the hood, and trusting their judgment about what is wrong. Misdiagnosis is rampant, unnecessary repairs are common, and finding a trustworthy mechanic is largely a matter of word-of-mouth luck.

Smart Fixxr changes this equation. We built a platform that combines real-time vehicle diagnostics via OBD-II with an intelligent mechanic matching system, transparent pricing, and an integrated parts sourcing network. This post details the engineering behind each of these systems.

OBD-II Integration

Every vehicle manufactured after 2000 (and many before) includes an OBD-II diagnostic port that provides access to hundreds of real-time data parameters and stored trouble codes. Smart Fixxr's diagnostic journey begins here.

Hardware Partnership

We partnered with a hardware manufacturer to produce the Fixxr Dongle, a Bluetooth Low Energy (BLE) OBD-II adapter optimized for the African market:

  • Wide protocol support: Covers CAN, ISO 9141, ISO 14230 (KWP2000), and SAE J1850 -- critical because Africa's vehicle fleet includes models from every major manufacturing era and region.
  • Low power consumption: Draws less than 5mA in standby mode, important for markets where vehicles may sit unused for extended periods.
  • Rugged design: IP54 rated, operating range of -10C to 70C, handling the extreme heat common in equatorial and Saharan regions.
  • Affordable: Retails at $18 USD, subsidized through our partnership program where mechanics receive them free to distribute to customers.

Data Collection and Transmission

When a user plugs in the Fixxr Dongle and opens the app, the system initiates a diagnostic session:

interface DiagnosticSession {
  sessionId: string;
  vehicleId: string;
  startTime: Date;
  obdProtocol: "CAN_11" | "CAN_29" | "ISO_9141" | "KWP2000" | "J1850_PWM" | "J1850_VPW";
  dtcCodes: {
    code: string;          // e.g., "P0301"
    status: "active" | "pending" | "historical";
    freezeFrame: Record<string, number>;
  }[];
  liveData: {
    engineRPM: number;
    coolantTemp: number;
    intakeAirTemp: number;
    vehicleSpeed: number;
    fuelSystemStatus: string;
    engineLoad: number;
    shortTermFuelTrim: number;
    longTermFuelTrim: number;
    timingAdvance: number;
    maf: number;
    throttlePosition: number;
    o2Sensors: O2SensorReading[];
    catalystTemp: number;
    fuelPressure: number;
    batteryVoltage: number;
  };
}

The app samples live data at 1Hz and transmits it to our backend for analysis. On low-bandwidth connections, data is buffered locally and synced in batches.

Diagnostic Algorithms

Raw DTC codes and sensor data are just the starting point. Our diagnostic engine interprets this data to produce human-readable, actionable diagnoses.

Beyond Simple Code Lookup

A DTC code like P0301 simply means "Cylinder 1 Misfire Detected." But the root cause could be a dozen different things: fouled spark plug, faulty ignition coil, clogged fuel injector, low compression, vacuum leak, or a failing camshaft position sensor, among others.

Our diagnostic engine uses a probabilistic reasoning system that considers:

  • The specific DTC codes and their combinations (certain code combinations strongly indicate specific root causes)
  • Live sensor data patterns at the time the code was set (captured in freeze frame data)
  • Vehicle-specific reliability data: We maintain a database of common failure modes by make, model, year, and mileage bracket. A P0301 on a 2012 Hyundai Accent with 180K km has a very different likely root cause than the same code on a 2019 Toyota Hilux with 40K km.
  • Environmental context: Ambient temperature, altitude, and fuel quality variations across regions affect diagnosis. A lean condition code in high-altitude Nairobi has different implications than the same code in sea-level Lagos.
class DiagnosticEngine:
    def diagnose(self, session: DiagnosticSession) -> DiagnosticReport:
        # Phase 1: Direct code interpretation
        code_diagnoses = [self.code_db.lookup(dtc) for dtc in session.dtcCodes]

        # Phase 2: Cross-code pattern matching
        pattern_matches = self.pattern_matcher.find_patterns(
            codes=[d.code for d in session.dtcCodes],
            vehicle=session.vehicle_profile
        )

        # Phase 3: Sensor data anomaly detection
        sensor_anomalies = self.anomaly_detector.analyze(
            live_data=session.liveData,
            vehicle_baselines=self.get_baselines(session.vehicle_profile)
        )

        # Phase 4: Bayesian inference
        root_causes = self.bayesian_reasoner.infer(
            code_diagnoses=code_diagnoses,
            patterns=pattern_matches,
            anomalies=sensor_anomalies,
            vehicle=session.vehicle_profile,
            environment=session.environment
        )

        return DiagnosticReport(
            root_causes=root_causes,  # ranked by probability
            urgency=self.classify_urgency(root_causes),
            estimated_repair_cost=self.estimate_cost(root_causes, session.location),
            recommended_actions=self.generate_actions(root_causes)
        )

Predictive Maintenance

Beyond diagnosing current problems, Smart Fixxr monitors vehicle health over time to predict failures before they happen:

  • Oil life estimation: Using engine load, RPM patterns, and ambient temperature data, we estimate remaining oil life more accurately than simple mileage-based intervals.
  • Battery health monitoring: Voltage patterns during cranking and driving predict battery failure 2-4 weeks in advance.
  • Brake wear estimation: Deceleration patterns correlated with speed data indicate brake pad wear progression.

Mechanic Reputation System

Once a diagnosis is complete, Smart Fixxr matches the user with a qualified mechanic. Our matching and reputation system is designed to build trust in a market where it is sorely lacking.

Mechanic Onboarding and Verification

Every mechanic on Smart Fixxr goes through a verification process:

  • Identity verification: Government ID check with liveness detection
  • Skill assessment: A diagnostic quiz tailored to their claimed specializations, with practical scenario questions developed by master mechanics
  • Workshop inspection: For mechanics with physical workshops, our field agents conduct an in-person inspection of equipment, cleanliness, and safety standards
  • Reference checks: We contact previous customers and, where applicable, former employers or training institutions

Dynamic Reputation Scoring

Post-verification, mechanics are ranked by a dynamic reputation score that incorporates:

  • Customer ratings: Weighted by recency, with outlier detection to discount suspicious rating patterns
  • Fix success rate: Whether the diagnosed issue was actually resolved, measured by the absence of the same DTC code in subsequent diagnostic sessions
  • Price fairness: How the mechanic's charges compare to our estimated fair price for the repair
  • Response time: How quickly the mechanic responds to job requests and completes repairs
  • Specialization match: Mechanics score higher for jobs that match their verified specializations

Intelligent Matching

When a user needs a mechanic, our matching algorithm optimizes across multiple dimensions:

  • Proximity: Travel time in current traffic conditions
  • Availability: Real-time schedule data from mechanics who actively manage their calendar on the platform
  • Specialization fit: The mechanic's expertise areas matched against the diagnosed issue
  • Price tier: Aligned with the user's stated budget preference
  • Reputation: Weighted reputation score for the relevant repair category

Parts Sourcing Network

Smart Fixxr's parts sourcing integration is powered by our partnership with PartsMaestro. When a repair is diagnosed, the system automatically:

  1. Identifies the required parts with OEM part numbers
  2. Queries availability across local suppliers
  3. Presents options ranging from OEM to quality aftermarket alternatives
  4. Provides price comparison with transparency on part origin and warranty
  5. Coordinates delivery to the mechanic's workshop, often before the customer even arrives

This closed-loop system -- diagnose, match, source, repair, verify -- is transforming automotive maintenance across the 6 countries where Smart Fixxr currently operates. With over 8,000 verified mechanics and 400,000 diagnostic sessions completed, we are building the trust infrastructure that African automotive services have always needed.

#iot#diagnostics#automotive#smart-fixxr#matching

Try Smart Fixxr today

Discover how Smart Fixxr can help you build better, faster. Get started for free and see the difference.

Get Started
Back to All Articles

Annual Report FY2025

Our comprehensive review of performance and strategy

View Reports

Stay updated

Product launches, engineering updates, and company news.

Headquarters

Cape Town, South Africa
Technology Hub, Innovation District

Regional Offices

Lagos, Nigeria • Nairobi, Kenya
Accra, Ghana • Johannesburg, SA

Contact

info@kavodtechnologies.com
+27 21 123 4567

Kavod Technologies Limited © 2026. All rights reserved.

Accessibility Options