Scope of Work Spreadsheet: V4
From Walkthrough to AI: How I Automated Property Photo Labeling with a Web App + Make.com
Importance of this Build
If you manage real estate walkthroughs, construction projects, or rehab evaluations, you know how time-consuming it is to sort through 50+ photos after every site visit. I built a custom automation that turns property walkthrough photos into structured, labeled data — using a Node.js web app, Google Drive, and Make.com connected to ChatGPT Vision.
In this post, I’ll break down how I built the system — including the frontend, backend, and the Make.com AI automation that labels each photo.
Previous build:
I’ve documented my Scope of Work Spreadsheet for now 2 years and how it’s evolved after doing 50+ renovation projects.
The data i’ve collected along the way is nothing short of a miracle. It is pure GOLD!
Here’s my latest post on V3 of this build…
Scope of Work Spreadsheet: Beta V3
Over the last year that I’ve been posting here on substack I’ve made it a habit to share my progress building our custom scope of work spreadsheet aka our rehab estimator.
This build I just wanted to take things to a slightly higher level. There’s levels to these builds and each step I get closer to the most efficient version I have built in my head.
Firstly this build included the following updates
Manually coded and hosted the webapp using Node.JS instead of relying on Google App Script
The reason I did this is because I wanted more flexibility on the server side long term
Ability to add more photos
V3 was able to add maybe 20 photos max before it would inevitably crash which made things less efficient in the end because I would need to only upload like 10 photos and then wait until the automation was complete before going into the folder link and uploading the rest (inconvenient!!!)
Using ChatGPT to label the photos
This allows us to see in the folder what the photos are just by the names
This data will help build our vector database
Labeled photos down the road can be used in the place of manually entered data in the webform which means that the next build will remove the hardcoded data in the webform and will rely solely on the images to push the necessary data into the spreadsheet template
Photo labels can be used to create a report
Part 1: The Web App — Capturing Walkthrough Photos + Form Data
🛠 Tech Stack:
Node.js + Express.js
Google Drive API
Google Sheets API
Multer (for file uploads)
🧩 What the App Does:
Hosts a mobile-friendly webform for in-field use
Allows uploading of 50–100 photos
Collects property details (unit breakdown, condition, etc.)
On submission:
Creates a new subfolder in a Shared Drive (named after the address)
Uploads photos to that folder
Pushes form data to a Google Sheet
Copies a Scope of Work template spreadsheet
Returns a folder link for quick access
📄 Key Backend Logic:
js
CopyEdit
await drive.files.create({ name: file.originalname, parents: [folderId], ... }); await sheet.addRow(formData); await drive.files.copy({ fileId: TEMPLATE_ID, parents: [DEST_FOLDER_ID], ... });
The .txt
file used for form notes was removed in the final version — keeping the Drive folder clean and automation-ready.
Part 2: The Make.com Automation — AI-Labeling the Photos
Once the walkthrough photos land in Drive, the next challenge is organizing them.
🧠 Enter AI
I used Make.com + OpenAI Vision to analyze each photo and rename it with a descriptive label like kitchen.jpg
, bathroom_sink.jpg
, electrical_panel.jpg
.
🔁 Scenario Breakdown:
Module 1: Google Drive > Watch Files
Watches the Walkthrough Photos parent folder
Triggers when a new folder (e.g., "123 Main St") is added
Module 2: Google Drive > List Files in Folder
Gets all photos inside the new subfolder
Module 3: Tools > Array Aggregator
Combines all file bundles into a single array
Module 4: Tools > Iterator
Loops through each photo
Module 5: Google Drive > Download File
Pulls the actual image file from Drive
Module 6: OpenAI > GPT-4 Vision
Sends the photo to ChatGPT with this prompt:
“You are labeling property walkthrough photos. Return a one- or two-word label like
kitchen
,bathroom_sink
,water_heater
, orexterior_front
.”
Module 7: Google Drive > Update File
Renames the photo in Drive using the AI-generated label
🚀 Final Result:
Every walkthrough folder automatically turns into a structured, searchable photo library with labeled images — no more guessing what “IMG_4092.jpg” is.
💡 Use Cases
Construction managers labeling pre-rehab photos
Property managers preparing leasing packages
Real estate investors building reports from site visits
📎 Wrap-Up
This automation is a huge game changer for organizing files seamlessly and removed a few bottlenecks we had with the previous builder. As with any internal app or automation workflow process you’ll constantly need to update and revise it and continuously improve it to keep up with the demands of a growing company.