Get the capture right.
Can someone with a phone collect useful property-inspection data without an inspector guiding every shot? PropertyScan is my attempt to make that capture process reliable.
The app guides the person filming and checks coverage, focus, exposure, camera movement and scale. If part of a wall is missing or the frames are blurred, it asks for another pass while they’re still there.
How capture works
First, the app builds a floor plan. On a LiDAR-equipped iPhone, it uses RoomPlan. On other supported devices, the person marks corners in AR, with depth estimates to help resolve the geometry. Both routes produce the same room structure.
The floor plan then guides a sweep of each wall. The app captures frames automatically, rejects blurred ones and tracks which surfaces have been covered. A room can’t be marked complete until it meets the coverage threshold. ARKit camera poses provide scale and position.
What stays on the phone
Anything that changes the next shot needs to happen locally. Discovering a missed corner after upload means asking someone to return and scan it again.
The design uses CoreML for a first pass on the device, with cloud vision models for further analysis and an expert reviewing unresolved cases. This analysis stage is still being developed; it isn’t a validated inspection service.
The prototype today.
Floor-plan capture, the guided sweep, coverage tracking, cloud upload, and PDF and USDZ export work end to end in the prototype. Defect detection is still in progress. The bundled on-device detection weights are placeholders while models are fine-tuned on building-defect data.
The iOS app uses SwiftUI, ARKit, RoomPlan, Vision and CoreML. The backend uses FastAPI, Celery, Redis and S3; the inspection dashboard uses TypeScript, tRPC, Drizzle and LibSQL. The reconstruction path can use MapAnything, COLMAP or Nerfstudio, depending on the input.
The part I’m trying to get right is capture: enough usable views, at a known scale, for someone else to assess the room. A complete scan alone doesn’t tell you whether a building is sound.