feat: VIN Capture Integration (#68) #76

Merged
egullickson merged 1 commits from issue-68-vin-capture-integration into main 2026-02-02 02:27:29 +00:00
Owner

Summary

Integrates camera capture and VIN OCR into VehicleForm, completing the VIN photo capture flow.

  • Add camera button next to VIN input field in VehicleForm
  • VinCameraButton opens CameraCapture with VIN guidance overlay
  • VinOcrReviewModal displays extracted VIN with confidence indicators
    • High (>90%): green indicator
    • Medium (70-90%): yellow indicator
    • Low (<70%): orange indicator
  • User can Accept, Edit Manually, or Retake Photo
  • On accept, form auto-populates with extracted VIN and decoded vehicle data
  • Mobile-responsive: bottom sheet on mobile, dialog on desktop

User Flow

Camera -> Capture -> Crop (optional) -> OCR -> NHTSA Decode -> Review Modal -> Accept -> Form Populated

Test Plan

  • Camera button appears next to VIN input (mobile + desktop)
  • CameraCapture opens with VIN guidance overlay
  • Captured image sent to VIN OCR endpoint
  • Review modal shows extracted VIN with confidence indicator
  • Decoded vehicle info displays with per-field confidence
  • Accept populates VIN and decoded fields in form
  • Edit Manually sets only VIN, closes modal
  • Retake restarts camera capture
  • Error states displayed for OCR failures
  • Mobile-responsive (320px - 768px)
  • Desktop-responsive (1920px)

Refs #68

## Summary Integrates camera capture and VIN OCR into VehicleForm, completing the VIN photo capture flow. - Add camera button next to VIN input field in VehicleForm - VinCameraButton opens CameraCapture with VIN guidance overlay - VinOcrReviewModal displays extracted VIN with confidence indicators - High (>90%): green indicator - Medium (70-90%): yellow indicator - Low (<70%): orange indicator - User can Accept, Edit Manually, or Retake Photo - On accept, form auto-populates with extracted VIN and decoded vehicle data - Mobile-responsive: bottom sheet on mobile, dialog on desktop ### User Flow Camera -> Capture -> Crop (optional) -> OCR -> NHTSA Decode -> Review Modal -> Accept -> Form Populated ## Test Plan - [ ] Camera button appears next to VIN input (mobile + desktop) - [ ] CameraCapture opens with VIN guidance overlay - [ ] Captured image sent to VIN OCR endpoint - [ ] Review modal shows extracted VIN with confidence indicator - [ ] Decoded vehicle info displays with per-field confidence - [ ] Accept populates VIN and decoded fields in form - [ ] Edit Manually sets only VIN, closes modal - [ ] Retake restarts camera capture - [ ] Error states displayed for OCR failures - [ ] Mobile-responsive (320px - 768px) - [ ] Desktop-responsive (1920px) Refs #68
egullickson added 1 commit 2026-02-02 02:18:25 +00:00
feat: integrate VIN capture with vehicle form (refs #68)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m12s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 32s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
d6e74d89b3
- Add VinCameraButton component that opens CameraCapture with VIN guidance
- Add VinOcrReviewModal showing extracted VIN and decoded vehicle data
  - Confidence indicators (high/medium/low) for each field
  - Mobile-responsive bottom sheet on small screens
  - Accept, Edit Manually, or Retake Photo options
- Add useVinOcr hook orchestrating OCR extraction and NHTSA decode
- Update VehicleForm with camera button next to VIN input
- Form auto-populates with OCR result and decoded data on accept

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
egullickson merged commit a2f0abb14c into main 2026-02-02 02:27:29 +00:00
egullickson deleted branch issue-68-vin-capture-integration 2026-02-02 02:27:29 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: egullickson/motovaultpro#76