Skip to main content
Rajendra Kumar
React NativeMobile app

MotorPedia Inspection: Offline-First Vehicle Inspection App

Live inspection app for field teams. Checklists come from the server, work fully offline, and flow through inspector, manager and QA review before the final report is released.

Platform
Mobile app
Built with
React Native
Tech stack
7 technologies

Project highlights

  • Live on the App Store and Google Play
  • Server-driven checklists: new forms ship without an app release
  • Works fully offline, then syncs data and photos in the background
  • One set of screens for inspectors, managers and QA, with content shown by role
  • Six specialised photo capture types, including 360° guide and VIN scan

Overview

MotorPedia Inspection is an app for high-volume vehicle inspections and quality audits. The checklists are built from a schema sent by the server, so inspection forms can change without releasing a new app version. Inspectors, managers and QA auditors all use the same screens, and what each person sees and can do depends on their role. Everything keeps working with no network. I built it with React Native and TypeScript.

The problem

Inspections happen in basements, yards and remote locations where there is little or no signal, and a single vehicle can have 200+ checkpoints and dozens of photos. The checklist also changes between vehicle types, and reports need review by a manager and a QA team before they are final.

The solution

  • Dynamic forms

    the app turns a server schema into sections, tabs and field rows. Field types include pickers, radio groups, multi-select tags, date and time, rating matrices and free text.

  • Photo capture

    six image field types, including a single shot, a 360° guided car-shell overlay, defect markers, burst capture, VIN stamp scanning and a damage zoom view.

  • Conditional fields

    rules decide what appears. For example, marking a fender as repainted adds required fields for paint thickness and over-spray severity.

  • Sign-in and dashboard

    users sign in with an email address and a verification code, then land on a dashboard of case counts by stage, such as pending, in progress and inspection done for evaluators, under QA, approved and rejected for QC, and completed, cancelled and total.

  • Role-based content

    the screens are the same for everyone, and each role sees different content and actions on them.

  • Inspectors

    step-by-step walkthrough with required checkpoints, photo validation and sign-off.

  • Managers

    assign and reassign inspectors, track routes and watch SLAs.

  • QA auditors

    review item by item, flag photos, request re-takes on a tab and add audit scores before the report is released.

Architecture

  • Form schemas, draft answers and cached data live in a local WatermelonDB database (on SQLite), so inspections can be completed with no connection. Redux Toolkit manages the active workflow.
  • A form is built in three levels from the server schema: sections, tabs and field rows. Field components are picked from a registry by field type, and a rule engine on the device works out which fields show and which are required. Fields can also trigger lookups, such as checking an engine code.
  • When the network returns, answers sync as small JSON changes. Photos are compressed and queued for upload in the background in chunks, with idempotent keys so an interrupted upload resumes without duplicating files.
  • The same screens serve every role. The user's role decides which sections, fields and actions are visible, so one build covers inspectors, managers and QA.

Challenges solved

  • 1

    Slow typing in large forms

    field state is kept inside each field, with targeted subscriptions, so typing in one field does not re-render the whole checklist.

  • 2

    Losing work if the device dies

    draft answers are saved to the local database as the inspector moves between fields, so an interrupted inspection can be picked back up.

  • 3

    Memory with many photos

    audits can include 40+ images, so photos are resized and downsampled before they are saved to disk, which reduces out-of-memory crashes on budget devices.

  • 4

    Uploads that survive flaky networks

    the media queue retries with backoff and resumes chunked uploads instead of starting over.

Outcomes

A live app that lets field teams complete long inspections offline, keeps checklists up to date without store releases, and gives managers and QA a clear review process before reports go out.

Technology stack

  • React Native
  • TypeScript
  • Redux Toolkit
  • WatermelonDB
  • SQLite
  • Background sync
  • REST APIs

Screenshots

  • Dashboard showing evaluator, QC action and other case counts: pending, in progress, inspection done, under QA, approved, rejected, completed, cancelled and total
  • Inspection report form with Basic Details, RC, MMVY, Policy and Chassis tabs, chassis photo capture and chassis number embossing options
  • Login screen with email address and email verification code
  • MotorPedia Operations app promo: car inspection is now digital

More React Native work

Need something similar?

Tell me about your project and I will suggest a plan.

Start a conversation

All projects