Case study / InspectIQ
Turn vehicle evidence into condition reports people can trust.
A production-shaped platform for wholesale, auction, fleet, and offsite inspection teams. It connects guided photo capture, AI-assisted review, human-confirmed damage, grading, and buyer-ready condition reporting.
- Role
- Independent builder
- System
- InspectIQ
Demo boundary
Live AWS-backed application
Public walkthrough is read-only
Live AWS-backed application. The public Evaluation Workspace requires no login and is read-only. Cognito JWT/RBAC protects authenticated workflow actions at the application layer; this does not establish API Gateway authorizer enforcement.
01 / Product
What InspectIQ is for
- Wholesale, auction, fleet, and offsite teams need complete, consistent photo evidence before a vehicle can be graded, routed to reconditioning, or presented to a buyer.
- Missing angles, unreadable VIN or odometer photos, poor image quality, and inconsistent damage review create retakes, slower reports, recon uncertainty, and avoidable disputes.
- InspectIQ turns capture, AI-assisted inspection, human review, grading, and report release into one accountable workflow with an audit trail.
What the system must protect
- AI can suggest required angles, image-quality problems, OCR values, and visible damage, but a reviewer remains accountable for every buyer-visible fact.
- Original photos, model output, and reviewer decisions must remain separate and traceable when a condition is questioned.
- Offline capture, failed analysis jobs, and incomplete evidence must recover visibly without losing inspection state or releasing an unfinished report.
02 / Workflow
From field capture to a report a buyer can rely on.
01
Capture
An Inspector gathers the required angles on web or mobile; offline capture stays queued until a connection returns.
02
Protect
Photos upload to private S3 with stable operation IDs, checksums, and short-lived preview access.
03
Analyze
SQS and a Lambda worker isolate model latency before Bedrock output is accepted through a strict schema.
04
Decide
A Reviewer compares each suggestion with its source image, then accepts, edits, rejects, or requests a retake.
05
Release
Confirmed evidence drives grading and report approval; unresolved blockers keep the condition report from release.
06
Operate
Audit records, outbox events, queue health, projections, alarms, and replay controls keep the workflow inspectable.
03 / System
Current architecture, with every major boundary visible.

04 / Product in use
The workflow exists in the product, not only in the diagram.

Inspector capture
Required-angle evidence, offline-aware upload state, retake guidance, and workflow status in the mobile path.
Full-resolution source
Reviewer decisioning
A prioritized queue keeps the source evidence, confidence, owner, SLA, and accept-or-reject decision together.
Full-resolution source
Platform Health
Runtime mode, role separation, queues, service levels, alerts, cost controls, and failed-work recovery are visible to operators.
Full-resolution source05 / Decisions
Three decisions and the cost of each.
01
Keep AI advisory and human decisions authoritative
Bedrock can accelerate angle, quality, OCR, and damage review, but only a Reviewer can turn a suggestion into a buyer-visible fact.
Tradeoff
Human review adds time and operating cost, but it prevents model output from silently becoming disclosure truth.
02
Keep business truth in Postgres and operations state disposable
Neon Postgres owns inspections, evidence, decisions, reports, and audit facts; EventBridge and DynamoDB support projections, idempotency, and model-usage reservations.
Tradeoff
Projected operational views can lag and require replay, so they must never become a second business system of record.
03
Move image analysis behind a durable queue
Private S3 uploads, SQS jobs, and a bounded Lambda worker keep model latency and provider failure outside the interactive capture request.
Tradeoff
The workflow becomes eventually consistent and needs idempotency, job states, DLQs, visible blockers, and recovery controls.
06 / Evidence
What the record supports—and how far it goes.
No fallback
Marketplace damage workflow
One Ford photo reached Bedrock, schema validation, and Reviewer acceptance; this is not an accuracy benchmark.
Inspect evidence108 / 12
Inputs / independent sources
Controlled contract and promotion-gate evidence; deterministic results do not establish Bedrock model accuracy.
Inspect evidence3 roles
Inspector, Reviewer, Admin
Capture, approval, and recovery responsibilities are separated in the UI, API permissions, and proof path.
Inspect evidenceLive path
AWS-backed evidence processing
Cognito, S3, SQS, Lambda, Bedrock, Neon, audit events, and operational projections are documented together.
Inspect evidence
07 / Reliability & security
No model finding becomes a buyer-visible fact without human approval.
Raw and validated output remain separate, invalid output fails closed, and Reviewer decisions, corrections, and report finalization stay in the audit history. Cognito roles and object authorization restrict who can act on each inspection.
Security boundary notesIncomplete evidence and failed analysis block release, then route to the right recovery.
A low-quality image requests a field retake; a provider or schema failure can be retried or moved through DLQ and replay controls. Platform Health exposes queues, outbox delivery, projections, alarms, and recovery state so the operator sees the right next action.
Operator runbook08 / Limits
Known limits
- The 108-image challenge set derives from 12 independent sources, and one marketplace result does not establish Bedrock precision or recall.
- Mobile angle selection remains Inspector-driven; there is no deployed on-device classifier or reviewer-adjustable damage region.
- The buyer export is not yet a polished PDF and photo package, and generic CSV or signed-webhook integrations are not implemented.
- The system has not accumulated sustained production workload, SLO, cost, or real-inspector pilot evidence.
- Some Postgres flows still hydrate the in-memory domain store; high-concurrency use needs aggregate-specific DB-first repositories.
- The public walkthrough is read-only, and the documented application boundary does not prove API Gateway authorizer enforcement.
Path to sustained operation
- Build an independently adjudicated field corpus and measure precision, recall, calibration, override rate, latency, and cost by model and prompt version.
- Replace the hydration bridge with aggregate-specific repositories and prove transaction, concurrency, and tenant-isolation behavior under load.
- Run soak tests, controlled queue and event recovery drills, rollback exercises, and a seven-day idle-cost and SLO observation window.
- Pilot with working Inspectors and Reviewers, then refine capture speed, reports, photo packages, and the integrations customers actually require.
- Split public and protected gateway routes, attach the JWT authorizer to protected routes, and complete a production security and data-retention review.
09 / Artifact index
Follow the work into the repository.
- architectureCurrent serverless AWS architecture
- productProduct workflow and mobile capture boundary
- iacTerraform infrastructure
- ciApplication CI workflow
- testsModel evaluation report and accuracy boundary
- runtimeNo-fallback marketplace Bedrock trace
- securityRole-separated workflow proof
- runtimeLive runtime proof
- securitySecurity boundary notes
- runbookOperator runbook
- limitationsReadiness and remaining work