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
More React Native work
- MotorPedia Dealer App: B2B Car Dealer & Auction PlatformLive app for used-car dealers and brokers on iOS and Android: vehicle checks, live auctions, inventory, leads and video marketing in one place. Used by 1,000+ dealers daily with 99% uptime.View case study
- MotorPedia Classifieds: Used Car Marketplace (Web, iOS & Android)Live marketplace for buying and selling pre-owned cars on the web (installable PWA), Android and iOS, with search and compare, instant valuation, doorstep inspection booking and EMI tools.View case study
- Abeona: Hotel, Suite & Event Space MarketplaceTwo-sided React Native booking marketplace for rooms, suites, banquet halls and local experiences, with radius-based search, a map location picker and full English/Arabic (RTL) support.View case study
Need something similar?
Tell me about your project and I will suggest a plan.



