Case Study
From SD Card to Sent Invoice
An AI Operations System for a Real Estate Media Business
Client context
A one-person real estate photo and video production business, booking shoots most days of the week — stills, walkthrough video, drone, floor plans, sometimes all four on the same property, at roughly 15 to 20 shoots a month. This is Finlay Systems’ own production business, Finlay Films, so the figures below come from real, ongoing internal operations rather than a client engagement.
The challenge
The shoot itself was always the fast part. Every shoot generated the same downstream admin loop, and none of it was the reason the business existed:
- Cross-referencing the calendar to confirm who the client was, what address, and what was actually booked
- Creating (or fixing) the project record in the project-management system
- Building the right folder structure for the job type, then sorting hundreds of RAW photos and video clips off SD cards into it, by hand, correctly
- Writing a brief for the editor so nothing gets misread or reshot
- A day or two later, once the edit came back: checking every filename against a naming convention, copying finished assets into the client delivery folder, archiving the source files, creating the invoice, sending it, and updating the tracker in three separate places
The cost of the problem
That admin loop was the job of a full-time executive assistant, paid roughly $3,000 a month, for a role that covered other work too. Done carefully, the admin around a single shoot ran about an hour of focused work: calendar check, project setup, file sorting, editor brief, then delivery, naming check, archiving, invoicing, and tracker updates. At 15 to 20 shoots a month, that’s 15 to 20 hours a month, much of it done nights and weekends after a full day of shoots — exactly the conditions where a tired human skips a step, mislabels a folder, or lets an invoice sit unsent for a week.
The goal
Cut the owner’s hands-on admin time per shoot from roughly an hour to a couple of minutes, without giving up the review checkpoints that mattered: nothing ships to a client with a naming error, no invoice goes out duplicated, and anything ambiguous gets a human decision instead of a guess.
The shoot was always the fast part. Everything after the shoot was the part that ate the evening.
The existing workflow
- 1Check calendar manually for client, address, service type
- 2Create or fix the project record by hand
- 3Build folder structure from memory
- 4Sort hundreds of files off the SD card manually
- 5Write the editor brief by hand
- 1Say "run intake"
- 2Calendar read automatically
- 3Project record found or created
- 4Correct folder structure built for the job type
- 5Every file copied and matched to the right destination, editor briefed
The AI system
An AI operations system, built on Claude Code, that treats the business’s existing calendar, project tracker, cloud storage, and accounting software as the source of truth, and does the coordination work between them automatically.
Intake, triggered by “run intake”: calendar read → shoot identified (client, address, service type) → project record found or created in the tracker → correct folder structure built for that job type → every photo and video copied off the SD card into the right destination → anything ambiguous flagged for a human decision.
Delivery, triggered the next day by “run delivery”: every filename checked against the delivery naming convention → finished assets copied to the client-facing location → raw and edited source folders archived → invoice created with the correct line items, checked for duplicates, and sent → tracker updated everywhere it needs to change → completed project moved out of the active list.
Implementation
- Google Calendar as the source-of-truth trigger — the event already booked carries the client, address, and service type, no separate intake form.
- Notion as the project tracker — read and written back to directly, so the record the business already used stays the record, not the AI’s own memory.
- Dropbox for file storage — copy-only at intake, archive only after delivery is verified.
- QuickBooks for invoicing — line items, rate, and a duplicate-invoice safety check before anything is created.
- Gmail for the invoice send and any client-facing delivery notice.
- Claude Code as the orchestration layer, running two purpose-built workflows (“run intake,” “run delivery”) that read across all of the above and execute the multi-step process end to end.
Human oversight and safeguards
- Escalate on ambiguity instead of guessing. An unmatched file, an unclear client, or a filename that doesn’t match convention stops the run and asks, rather than making a silent judgment call.
- Dry-run first while a workflow’s rules are still being learned. A newer or more variable step shows its full plan and waits for approval before touching a single file; only a workflow with a proven, tested rule for every judgment call runs fully autonomously.
- Copy-only until delivery is verified, archive only after. Original source files are never moved or deleted at intake, protecting against ever losing a shoot’s raw footage.
- A duplicate-invoice check before every invoice is created, catching the kind of double-send error a tired human makes at the end of a long day.
- The tracker is the record, not the AI’s memory — every workflow reads and writes back to the same system the business already used.
Before vs. after workflow
- 1Check filenames by hand
- 2Deliver assets manually
- 3Archive source files manually
- 4Create and send invoice by hand
- 5Update tracker in 3 places
- 1Say "run delivery"
- 2Naming checked automatically
- 3Assets delivered, sources archived
- 4Invoice created, duplicate-checked, and sent
- 5Tracker updated everywhere automatically
Results
The figures below are working estimates based on the time this admin work took before automation, not figures pulled from a formal time-tracking study.
~0 sec
Owner’s hands-on time per shoot — just saying “run intake,” then later “run delivery”
0–0 hrs
Admin hours reclaimed per month, at 15–20 shoots/month
$0–0
Monthly cost equivalent reclaimed, priced at the prior assistant’s effective hourly rate
<0 hrs
Turnaround from shoot to delivered assets and a sent invoice, down from sitting unprocessed for days
Business impact
The dollar figure understates the real change. Shoots that used to sit for days before delivery and invoicing now move client-ready and invoiced within 24 hours, which means the business gets paid faster and clients get their assets faster. Evenings that used to disappear into folder-sorting and invoice-chasing don’t. And because the admin loop is no longer the bottleneck, the owner can take on more shoots in a week without needing to rehire the admin role the automation replaced.
I used to lose the end of every shoot day to the same hour of admin. Now I say two sentences, and I have my evenings back.— David Finlay, Owner, Finlay Systems
What happened next
The system has been in daily production use since it was built, and it continues to accumulate refinements from real runs the same way any operations process improves with use. The same intake-and-delivery pattern, calendar as source of truth, a tracker as the record, human review only where it’s actually needed, became the model for the other AI operations builds documented in this case study series, including how Finlay Systems now runs and edits its own website.
What this means for other real estate media and production businesses
The pattern here isn’t specific to any one client relationship — it’s specific to any business that runs the same kind of job repeatedly and treats a calendar booking, a set of source files, and an invoice as three things that should always end up in sync. That applies directly to any real estate media operation juggling multiple listings a week, and it extends naturally to independent photographers and filmmakers outside real estate who run a similar loop: book a shoot, capture it, organize it, deliver it, get paid for it.