Back to My Portfolio

Web App Demo

Real Estate Outreach System

The real tool was a small Python web app I built for a San Diego real estate agent. It imported an MLS export of expired listings, matched the columns on its own and skipped listings it had already seen. It took each owner's name from the export or, with a paid parcel data service turned on, looked it up in county parcel records. Then it ran a three-letter direct mail sequence: an introduction on day 0, a follow-up on day 3 and a final letter on day 10. It printed each batch ready to mail and tracked who responded.

This is a demo with made-up listings. Everything runs in your browser. Nothing you import or change is uploaded or sent anywhere, and your changes stay only in this browser.

Campaign dashboard

Select leads with the checkboxes, then print the letter each one gets next, mark them sent or record a reply. Both follow-ups count from the day the first letter goes out.

  1. Day 0Initial letter
  2. Day 3Follow-up 1
  3. Day 10Final letter

Import takes CSV files and matches column names the way the real tool did, so a typical MLS export works. The sample file shows the format.

Total Leads
0
Pending
0
Initial Sent
0
Follow-up 1
0
Final letter
0
Responded
0

0 selected

Campaigns
Address City ZIP Owner List Price Status Next Step

How the demo differs

  • Owner lookup. The real tool used the owner's name from the export, or, with a paid parcel data service turned on, looked up the owner's name and mailing address in county parcel records. The demo uses the Owner column in your file. If there isn't one, the letter goes to Homeowner at the property address, the same fallback the real tool used.
  • Excel files. The real tool also read .xlsx exports. The demo reads CSV only.
  • Envelopes and records. The real tool printed an envelope page for each letter and kept every campaign in a small database. The demo prints only the letters and keeps everything in your browser.
  • The agent. Letters are signed by a placeholder agent with a fake license number and phone number.