[object Object]

← back to Labj Cre Banks

initial scaffold

9df668a3b9d3e06f49824ff06ce7375c1e1ba922 · 2026-08-10 11:26:22 -0700 · Steve Abrams

Files touched

Diff

commit 9df668a3b9d3e06f49824ff06ce7375c1e1ba922
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Aug 10 11:26:22 2026 -0700

    initial scaffold
---
 .gitignore                                |   8 +
 PROMPT.txt                                |  90 +++++
 data/enriched/banks.json                  | 558 ++++++++++++++++++++++++++++++
 data/enriched/brokerage.json              | 508 +++++++++++++++++++++++++++
 data/enriched/contractors_architects.json | 381 ++++++++++++++++++++
 data/enriched/developers.json             | 495 ++++++++++++++++++++++++++
 data/enriched/property_mgmt.json          | 343 ++++++++++++++++++
 data/seed.csv                             |  16 +
 scripts/build.py                          | 308 +++++++++++++++++
 9 files changed, 2707 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..69a75ba
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+cache/*.html
+cache/*.json
+logs/
diff --git a/PROMPT.txt b/PROMPT.txt
new file mode 100644
index 0000000..32625a2
--- /dev/null
+++ b/PROMPT.txt
@@ -0,0 +1,90 @@
+# Claude Code Master Prompt — LABJ CRE + Banking Public-Source Dataset
+
+Build and maintain a research dataset of Los Angeles Business Journal (LABJ) “The Lists” companies relevant to commercial real estate, banking, lending, construction, property management, architecture, and potential RENTV advertisers.
+
+STARTING FILE:
+labj_cre_banks_public_seed.csv
+
+IMPORTANT LEGAL / ACCESS RULES:
+1. Use only information that is publicly accessible without bypassing authentication, subscription controls, CAPTCHAs, robots restrictions, or technical access controls.
+2. Do not attempt to download or reconstruct LABJ paid Excel/PDF products unless the user supplies a legitimately obtained copy.
+3. LABJ states its lists may not be reprinted in whole or in part without permission. Treat LABJ as a discovery/ranking source; enrich records from independent public sources and keep source attribution.
+4. Respect website terms, robots.txt, reasonable request rates, and copyright.
+5. Never fabricate missing fields.
+
+TARGET LABJ CATEGORIES:
+- Commercial Real Estate Brokerage Firms
+- Commercial Real Estate Developers
+- Property Management Firms
+- Property Management Firms — Office
+- Property Management Firms — Retail
+- Property Management Firms — Industrial
+- General Contractors
+- Architecture Firms
+- Construction Projects
+- Infrastructure Construction Projects
+- Residential Real Estate Developers
+- Residential Brokerage Firms
+- Banks
+- Financial Institutions
+- Credit Unions
+- SBA 7(a) Lenders
+- SBA 504 Lenders
+- Private Equity Firms
+- Venture Capital Firms
+- Securities Brokerage Firms
+
+WORKFLOW:
+A. Inspect the seed CSV and preserve all existing rows and source URLs.
+B. Discover current LABJ public HTML list/product pages and record list name, publication year/date, ranking basis, public rows visible, and LABJ URL.
+C. For each discovered company, enrich from the company’s official website and other lawful public sources:
+   company_name, aliases, category, LABJ_rank, LABJ_list, LABJ_year,
+   address, city, state, zip, website, main_phone,
+   top_local_executive, title,
+   marketing_executive, marketing_title,
+   PR_contact, PR_title, public_email,
+   LinkedIn_company_url, employee_count_if_public,
+   specialties, markets, LA_presence,
+   advertiser_fit_score, advertiser_fit_reason,
+   source_labj, source_company, source_contact, last_verified.
+D. Deduplicate by normalized company/domain while preserving multiple LABJ list memberships.
+E. Score advertiser fit 0–100 for RENTV:
+   +25 commercial real estate core business
+   +20 active Los Angeles presence
+   +15 marketing/PR contact identified
+   +15 appears on multiple relevant lists
+   +10 lender/title/escrow/bank serving CRE
+   +10 major transaction/development/property-management footprint
+   +5 public advertising/sponsorship evidence
+F. Output:
+   1. data/labj_master.csv
+   2. data/labj_companies.csv
+   3. data/labj_contacts.csv
+   4. data/labj_list_memberships.csv
+   5. data/research_queue.csv
+   6. reports/top_100_rentv_prospects.csv
+   7. reports/source_audit.csv
+   8. README.md describing sources, limitations, and refresh process.
+
+TECHNICAL:
+- Python 3.
+- Prefer requests + BeautifulSoup for public static pages.
+- Use Playwright only where normal public page rendering requires JavaScript.
+- Add a descriptive User-Agent.
+- Rate limit requests.
+- Cache fetched pages.
+- Log URL/status/timestamp.
+- Do not evade 401/403/429 responses.
+- Do not use credentials unless explicitly supplied by the user for authorized access.
+- Validate URLs and normalize domains.
+- Keep raw source attribution for every researched field where practical.
+
+FIRST RUN:
+1. Load labj_cre_banks_public_seed.csv.
+2. Create the folder structure.
+3. Research and enrich the existing companies first.
+4. Discover additional relevant public LABJ list pages.
+5. Expand with independently verified public company/contact data.
+6. Print a completion summary: total companies, contacts, categories, verified URLs, unresolved records, and top 25 RENTV prospects.
+
+Execute the build now. Do not stop at planning; create the files and populate them with all lawfully accessible public data you can verify.
diff --git a/data/enriched/banks.json b/data/enriched/banks.json
new file mode 100644
index 0000000..dc13070
--- /dev/null
+++ b/data/enriched/banks.json
@@ -0,0 +1,558 @@
+{
+  "lane": "banks",
+  "companies": [
+    {
+      "company_name": "Preferred Bank",
+      "aliases": ["PFBC"],
+      "category": "Banks",
+      "labj_rank": 1,
+      "address": "601 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.preferredbank.com",
+      "main_phone": "",
+      "top_local_executive": "Li Yu",
+      "exec_title": "Founder, Chairman & CEO",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/preferred-bank/",
+      "specialties": [
+        "commercial real estate lending",
+        "real estate finance",
+        "commercial loans",
+        "international trade finance"
+      ],
+      "la_presence": "Headquarters in downtown Los Angeles; major CRE lender serving California markets",
+      "key_metric": "Total assets $7.6 billion (2026)",
+      "sources": [
+        "https://www.preferredbank.com",
+        "https://labusinessjournal.com/la500-2026/banking-finance-2026/la500-2026-li-yu/",
+        "https://finance.yahoo.com/quote/PFBC/profile/"
+      ]
+    },
+    {
+      "company_name": "East West Bank",
+      "aliases": ["East West Bancorp", "EWBC"],
+      "category": "Financial Institutions",
+      "labj_rank": 2,
+      "address": "135 N. Los Robles Avenue, 7th Floor",
+      "city": "Pasadena",
+      "state": "CA",
+      "zip": "91101",
+      "website": "https://www.eastwestbank.com",
+      "main_phone": "(833) 468-8356",
+      "top_local_executive": "Dominic Ng",
+      "exec_title": "Chairman & CEO",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/east-west-bank/",
+      "specialties": [
+        "commercial real estate",
+        "commercial lending",
+        "trade finance",
+        "international banking"
+      ],
+      "la_presence": "Major operations in Los Angeles (Chinatown, Downtown, Lincoln Heights branches); regional headquarters Pasadena serving LA County",
+      "key_metric": "Total assets $84.8 billion (Q2 2026)",
+      "sources": [
+        "https://www.eastwestbank.com",
+        "https://www.sec.gov/Archives/edgar/data/0001069157/000106915726000044/ewbc-20260630.htm",
+        "https://en.wikipedia.org/wiki/East_West_Bank"
+      ]
+    },
+    {
+      "company_name": "Banc of California",
+      "aliases": ["BancCal", "BANC"],
+      "category": "Banks",
+      "labj_rank": 3,
+      "address": "11611 San Vicente Boulevard, Suite 500",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90049",
+      "website": "https://www.bancofcal.com",
+      "main_phone": "(877) 770-2262",
+      "top_local_executive": "Jared Wolff",
+      "exec_title": "President & CEO",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/banc-of-california/",
+      "specialties": [
+        "commercial real estate lending",
+        "commercial banking",
+        "small business lending",
+        "real estate finance"
+      ],
+      "la_presence": "Headquarters in Los Angeles; strong commercial real estate lending platform across California",
+      "key_metric": "Total assets $35.2 billion (Q2 2024)",
+      "sources": [
+        "https://www.bancofcal.com",
+        "https://investors.bancofcal.com/corporate-governance/executive-officers",
+        "https://en.wikipedia.org/wiki/Banc_of_California"
+      ]
+    },
+    {
+      "company_name": "Cathay Bank",
+      "aliases": ["Cathay General Bancorp"],
+      "category": "Banks",
+      "labj_rank": 4,
+      "address": "777 North Broadway",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90012",
+      "website": "https://www.cathaybank.com",
+      "main_phone": "(213) 625-4791",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cathay-bank/",
+      "specialties": [
+        "commercial real estate",
+        "commercial lending",
+        "small business banking",
+        "trade finance"
+      ],
+      "la_presence": "Headquarters in Los Angeles Chinatown; major Los Angeles-area community bank",
+      "key_metric": "",
+      "sources": [
+        "https://www.cathaybank.com",
+        "https://www.cathaybank.com/location/los-angeles-main",
+        "https://en.wikipedia.org/wiki/Cathay_Bank"
+      ]
+    },
+    {
+      "company_name": "Hanmi Bank",
+      "aliases": ["Hanmi Financial Corporation"],
+      "category": "Banks",
+      "labj_rank": 5,
+      "address": "3660 Wilshire Boulevard, Suite A",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90010",
+      "website": "https://www.hanmi.com",
+      "main_phone": "(213) 382-2200",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/hanmi-bank/",
+      "specialties": [
+        "commercial real estate lending",
+        "commercial banking",
+        "small business loans",
+        "construction lending"
+      ],
+      "la_presence": "Headquarters in Los Angeles; established 1982; community bank with LA focus",
+      "key_metric": "",
+      "sources": [
+        "https://www.hanmi.com",
+        "https://www.hanmi.com/locations/",
+        "https://en.wikipedia.org/wiki/Hanmi_Bank"
+      ]
+    },
+    {
+      "company_name": "Hope Bancorp / Bank of Hope",
+      "aliases": ["HOPE", "Hope Bancorp Inc"],
+      "category": "Banks",
+      "labj_rank": 6,
+      "address": "3200 Wilshire Boulevard, Suite 1400",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90010",
+      "website": "https://www.bankofhope.com",
+      "main_phone": "",
+      "top_local_executive": "Kevin S. Kim",
+      "exec_title": "Chairman & Chief Executive Officer",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/bank-of-hope/",
+      "specialties": [
+        "commercial real estate",
+        "commercial lending",
+        "small business banking",
+        "construction loans"
+      ],
+      "la_presence": "Headquarters in Los Angeles; significant CRE lending platform",
+      "key_metric": "",
+      "sources": [
+        "https://www.bankofhope.com",
+        "https://www.sec.gov/Archives/edgar/data/1128361/000112836126000007/hope-12312025ex993q42025di.htm",
+        "https://en.wikipedia.org/wiki/Bank_of_Hope"
+      ]
+    },
+    {
+      "company_name": "City First Bank (formerly Broadway Federal Bank)",
+      "aliases": ["Broadway Federal Bank", "Broadway Financial Corporation"],
+      "category": "Banks",
+      "labj_rank": 7,
+      "address": "4001 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90037",
+      "website": "https://www.cityfirstbank.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/city-first-bank/",
+      "specialties": [
+        "community development lending",
+        "small business loans",
+        "commercial real estate",
+        "affordable housing"
+      ],
+      "la_presence": "Headquarters in Los Angeles; merged with CFBanc 2021; largest Black-led financial institution in US",
+      "key_metric": "",
+      "sources": [
+        "https://www.cityfirstbank.com",
+        "https://labusinessjournal.com/finance/broadway-financial-completes-merger/",
+        "https://en.wikipedia.org/wiki/Broadway_Federal_Bank"
+      ]
+    },
+    {
+      "company_name": "American Business Bank",
+      "aliases": ["ABB"],
+      "category": "Banks",
+      "labj_rank": 8,
+      "address": "400 South Hope Street, Suite 300",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.americanbb.bank",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "",
+      "specialties": [
+        "commercial real estate lending",
+        "commercial banking",
+        "business loans"
+      ],
+      "la_presence": "Headquarters in downtown Los Angeles; LA-focused commercial bank",
+      "key_metric": "",
+      "sources": [
+        "https://www.americanbb.bank",
+        "https://dfpi.ca.gov/regulated_entity/american-business-bank/",
+        "https://www.wheresmybank.com/branch-61562-american-business-bank-american-business-bank-branch"
+      ]
+    },
+    {
+      "company_name": "JPMorgan Chase Bank",
+      "aliases": ["Chase", "JPMorgan Chase & Co."],
+      "category": "Financial Institutions",
+      "labj_rank": null,
+      "address": "1200 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90015",
+      "website": "https://www.chase.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/jpmorgan-chase-co/",
+      "specialties": [
+        "commercial real estate financing",
+        "investment banking",
+        "corporate banking",
+        "treasury services"
+      ],
+      "la_presence": "California flagship branch in downtown Los Angeles; ~300 CA branches; major CRE lender",
+      "key_metric": "",
+      "sources": [
+        "https://www.chase.com",
+        "https://media.chase.com/news/chase-opens-california-flagship-branch-in-downtown-los-angeles",
+        "https://www.chase.com/locator/us/ca/los-angeles"
+      ]
+    },
+    {
+      "company_name": "Bank of America",
+      "aliases": ["BofA", "BAC"],
+      "category": "Financial Institutions",
+      "labj_rank": null,
+      "address": "550 South Hill Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90013",
+      "website": "https://www.bankofamerica.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/bank-of-america/",
+      "specialties": [
+        "commercial real estate",
+        "corporate banking",
+        "investment banking",
+        "commercial lending"
+      ],
+      "la_presence": "Major LA financial center locations; significant CRE lending platform",
+      "key_metric": "",
+      "sources": [
+        "https://www.bankofamerica.com",
+        "https://locators.bankofamerica.com/ca/losangeles/financial-centers-los-angeles-13066.html",
+        "https://en.wikipedia.org/wiki/Bank_of_America_Building_(Los_Angeles)"
+      ]
+    },
+    {
+      "company_name": "Citibank",
+      "aliases": ["Citi", "Citicorp"],
+      "category": "Financial Institutions",
+      "labj_rank": null,
+      "address": "787 West Fifth Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.citibank.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/citibank/",
+      "specialties": [
+        "corporate banking",
+        "investment banking",
+        "commercial real estate",
+        "commercial lending"
+      ],
+      "la_presence": "22 LA branches; Citi Private Bank office in downtown LA; regional financial services hub",
+      "key_metric": "",
+      "sources": [
+        "https://www.citibank.com",
+        "https://www.privatebank.citibank.com/office-locations/los-angeles",
+        "https://www.bankbranchlocator.com/citibank-offices-in-los-angeles-ca.html"
+      ]
+    },
+    {
+      "company_name": "Wells Fargo Bank",
+      "aliases": ["Wells Fargo", "WFC"],
+      "category": "Financial Institutions",
+      "labj_rank": null,
+      "address": "333 South Grand Avenue",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.wellsfargo.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/wells-fargo/",
+      "specialties": [
+        "commercial real estate lending",
+        "corporate banking",
+        "commercial lending",
+        "treasury services"
+      ],
+      "la_presence": "Wells Fargo Center headquarters in downtown LA; major regional financial services provider",
+      "key_metric": "",
+      "sources": [
+        "https://www.wellsfargo.com",
+        "https://en.wikipedia.org/wiki/Wells_Fargo_Center_(Los_Angeles)",
+        "https://www.wellsfargo.com/help/addresses/"
+      ]
+    },
+    {
+      "company_name": "U.S. Bank",
+      "aliases": ["USB", "U.S. Bancorp"],
+      "category": "Financial Institutions",
+      "labj_rank": null,
+      "address": "633 West 5th Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.usbank.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/us-bank/",
+      "specialties": [
+        "commercial real estate financing",
+        "corporate banking",
+        "commercial lending",
+        "investment services"
+      ],
+      "la_presence": "23 LA branches including US Bank Tower; significant commercial banking presence",
+      "key_metric": "",
+      "sources": [
+        "https://www.usbank.com",
+        "https://www.usbanklocations.com/u-s-bank-los-angeles-ca.htm",
+        "https://www.bankbranchlocator.com/us-bank-offices-in-los-angeles-ca.html"
+      ]
+    },
+    {
+      "company_name": "SchoolsFirst Federal Credit Union",
+      "aliases": ["SchoolsFirst FCU"],
+      "category": "Credit Unions",
+      "labj_rank": null,
+      "address": "5359 West Centinela Avenue",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90045",
+      "website": "https://www.schoolsfirstfcu.org",
+      "main_phone": "(800) 462-8328",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/schoolsfirst-federal-credit-union/",
+      "specialties": [
+        "member lending",
+        "deposits",
+        "financial services for educators"
+      ],
+      "la_presence": "LA-Ladera Heights and Mid-City branches; serves educators in LA County",
+      "key_metric": "",
+      "sources": [
+        "https://www.schoolsfirstfcu.org",
+        "https://www.schoolsfirstfcu.org/locations/los-angeles-ladera-heights-branch/",
+        "https://en.wikipedia.org/wiki/SchoolsFirst_Federal_Credit_Union"
+      ]
+    },
+    {
+      "company_name": "Los Angeles Police Federal Credit Union",
+      "aliases": ["LA Police FCU", "LAPFCU"],
+      "category": "Credit Unions",
+      "labj_rank": null,
+      "address": "16150 Sherman Way",
+      "city": "Van Nuys",
+      "state": "CA",
+      "zip": "91405",
+      "website": "https://www.lapfcu.org",
+      "main_phone": "(818) 779-3277",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "",
+      "specialties": [
+        "law enforcement member lending",
+        "deposits",
+        "member services"
+      ],
+      "la_presence": "Headquarters Van Nuys (LA County); serves LAPD and law enforcement community",
+      "key_metric": "",
+      "sources": [
+        "https://www.lapfcu.org",
+        "https://www.branchspot.com/los-angeles-police-federal-credit-union/",
+        "https://www.facebook.com/@LAPFCU/"
+      ]
+    },
+    {
+      "company_name": "USC Credit Union",
+      "aliases": ["University of Southern California Credit Union"],
+      "category": "Credit Unions",
+      "labj_rank": null,
+      "address": "3720 South Flower Street, FL 4",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90089",
+      "website": "https://www.usccreditunion.org",
+      "main_phone": "(213) 821-7100",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/usc-credit-union/",
+      "specialties": [
+        "member lending",
+        "university community banking",
+        "deposits"
+      ],
+      "la_presence": "Headquarters in Los Angeles; serves USC and university community",
+      "key_metric": "",
+      "sources": [
+        "https://www.usccreditunion.org",
+        "https://www.usccreditunion.org/locations/",
+        "https://departmentsdirectory.usc.edu/usc-credit-union/"
+      ]
+    },
+    {
+      "company_name": "Kinecta Federal Credit Union",
+      "aliases": ["Kinecta FCU"],
+      "category": "Credit Unions",
+      "labj_rank": null,
+      "address": "2365 East Century Boulevard, Suite B",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90002",
+      "website": "https://www.kinecta.org",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/kinecta-federal-credit-union/",
+      "specialties": [
+        "member lending",
+        "deposits",
+        "financial services"
+      ],
+      "la_presence": "Watts branch in Los Angeles (headquarters in Manhattan Beach); $6.44B assets",
+      "key_metric": "Total assets $6.44 billion (as of March 31, 2026)",
+      "sources": [
+        "https://www.kinecta.org",
+        "https://www.kinecta.org/watts",
+        "https://en.wikipedia.org/wiki/Kinecta_Federal_Credit_Union"
+      ]
+    },
+    {
+      "company_name": "City National Bank",
+      "aliases": ["City National", "CNB"],
+      "category": "Banks",
+      "labj_rank": null,
+      "address": "555 South Flower Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.cnb.com",
+      "main_phone": "",
+      "top_local_executive": "Howard Hammond",
+      "exec_title": "President & Chief Executive Officer",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/city-national-bank/",
+      "specialties": [
+        "commercial real estate",
+        "wealth management",
+        "commercial banking",
+        "personal banking"
+      ],
+      "la_presence": "Headquarters Los Angeles; major CA banking presence; RBC subsidiary",
+      "key_metric": "",
+      "sources": [
+        "https://www.cnb.com",
+        "https://www.cnb.com/about-us/leadership/",
+        "https://en.wikipedia.org/wiki/City_National_Bank_(California)"
+      ]
+    }
+  ]
+}
diff --git a/data/enriched/brokerage.json b/data/enriched/brokerage.json
new file mode 100644
index 0000000..f50deda
--- /dev/null
+++ b/data/enriched/brokerage.json
@@ -0,0 +1,508 @@
+{
+  "lane": "brokerage",
+  "companies": [
+    {
+      "company_name": "CBRE Group, Inc.",
+      "aliases": [
+        "CBRE",
+        "CB Richard Ellis"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 1,
+      "address": "400 South Hope Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.cbre.com",
+      "main_phone": "+1 213 613 3333",
+      "top_local_executive": "Lewis Horne",
+      "exec_title": "President, Greater LA, Orange County & Inland Empire",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cbre",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "multifamily",
+        "capital markets",
+        "tenant representation",
+        "project management",
+        "property management",
+        "valuation & advisory"
+      ],
+      "la_presence": "Fortune 500 headquartered in Los Angeles. Over 1,100 professionals across full-service offices in Greater LA region, serving for 75+ years. Multiple LA-area offices including Downtown, West LA (Century Park), Glendale, Ontario, Santa Fe Springs, South Bay, Ventura, Woodland Hills.",
+      "key_metric": "115,000 employees globally (2022); 1,100+ professionals in Greater LA",
+      "sources": [
+        "https://www.cbre.com/offices/corporate/los-angeles",
+        "https://www.cbre.com/press-releases/cbre-opens-new-state-of-the-art-west-los-angeles-office-in-century-city",
+        "https://www.linkedin.com/company/cbre"
+      ]
+    },
+    {
+      "company_name": "Newmark Group, Inc.",
+      "aliases": [
+        "Newmark",
+        "Newmark Commercial Real Estate"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 2,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.nmrk.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/nmrk-cre",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "capital markets",
+        "tenant representation",
+        "facilities management",
+        "property management",
+        "leasing"
+      ],
+      "la_presence": "Part of BGC Partners. Serving Los Angeles County since 1968 with multiple offices: Los Angeles-North, Los Angeles-Downtown, Los Angeles-South Bay, Los Angeles-Century City. 195+ offices globally with 10,000+ professionals worldwide.",
+      "key_metric": "10,000+ professionals worldwide; 195+ offices globally",
+      "sources": [
+        "https://www.nmrk.com/offices/los-angeles-north",
+        "https://www.nmrk.com/offices/los-angeles-downtown",
+        "https://www.nmrk.com/offices/los-angeles-century-city",
+        "https://www.linkedin.com/company/nmrk-cre"
+      ]
+    },
+    {
+      "company_name": "Cushman & Wakefield",
+      "aliases": [
+        "Cushman and Wakefield",
+        "DTZ"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 3,
+      "address": "900 Wilshire Boulevard",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.cushmanwakefield.com",
+      "main_phone": "+1 213 955 5100",
+      "top_local_executive": "Robert Thornburgh",
+      "exec_title": "Regional President, Southwest",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cushman-&-wakefield",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "capital markets",
+        "tenant representation",
+        "property management",
+        "valuation & advisory",
+        "agency leasing"
+      ],
+      "la_presence": "Global firm with over a century of experience. Five offices throughout Greater Los Angeles (Downtown LA, West LA, Inland Empire, Long Beach, Orange County/Irvine, El Segundo) with 150+ brokerage professionals covering all submarkets.",
+      "key_metric": "5 LA-area offices; 150+ brokerage professionals in Greater LA; 43,000 employees globally in 60+ countries",
+      "sources": [
+        "https://www.cushmanwakefield.com/en/united-states/offices/downtown-los-angeles",
+        "https://www.cushmanwakefield.com/en/united-states/offices/greater-los-angeles",
+        "https://www.linkedin.com/company/cushman-&-wakefield"
+      ]
+    },
+    {
+      "company_name": "JLL (Jones Lang LaSalle)",
+      "aliases": [
+        "Jones Lang LaSalle",
+        "JLL Inc."
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 4,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.jll.com/Los-Angeles/en-us",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/jll",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "hospitality",
+        "capital markets",
+        "tenant representation",
+        "project development",
+        "property management",
+        "debt advisory",
+        "valuation & advisory"
+      ],
+      "la_presence": "One of the largest global commercial real estate services firms based in Chicago. Delivers integrated commercial real estate services across Greater Los Angeles market, from Downtown skyscrapers to Westside and coastal markets. Deep local expertise combined with global reach.",
+      "key_metric": "91,000 employees in 80 countries globally",
+      "sources": [
+        "https://www.jll.com/Los-Angeles/en-us",
+        "https://www.jll.com/en-us/"
+      ]
+    },
+    {
+      "company_name": "Colliers International",
+      "aliases": [
+        "Colliers",
+        "Colliers Group"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 5,
+      "address": "865 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.colliers.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/colliers-international",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "multifamily",
+        "capital markets",
+        "tenant representation",
+        "landlord representation",
+        "property management",
+        "valuation & advisory",
+        "corporate solutions"
+      ],
+      "la_presence": "Nine offices across Greater Los Angeles region (Los Angeles, Orange, Riverside, San Bernardino, Ventura counties) with 165+ brokerage specialists and 40 property management professionals. Goodwin Rudnick LA Office Team specializes in Lower Westside and South Bay. Pellow Office Team covers Downtown to Beach Cities.",
+      "key_metric": "165+ brokerage specialists; 40 property management professionals in Greater LA; 9 LA-area offices",
+      "sources": [
+        "https://www.colliers.com/en/united-states/cities/los-angeles",
+        "https://www.colliers.com/en/countries/united-states/cities/los-angeles/goodwin-rudnick-la-office-team",
+        "https://www.colliers.com/en/countries/united-states/cities/los-angeles/pellow-office-team"
+      ]
+    },
+    {
+      "company_name": "Kidder Mathews",
+      "aliases": [
+        "Kidder & Mathews",
+        "Kidder Mathews Inc."
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 6,
+      "address": "601 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://kidder.com",
+      "main_phone": "+1 213 421 1400",
+      "top_local_executive": "Darren Tappen",
+      "exec_title": "Regional President, Brokerage, Greater Los Angeles, Southern California & Arizona",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "darren.tappen@kidder.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/kidder-mathews",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "multifamily",
+        "warehouse",
+        "logistics",
+        "capital markets",
+        "property management",
+        "appraisal",
+        "construction management"
+      ],
+      "la_presence": "Largest independent commercial real estate firm on the West Coast with 900 professionals in 21 offices across 5 states. Downtown LA headquarters with multiple LA-area offices serving Southeast LA, San Fernando Valley, and surrounding regions.",
+      "key_metric": "900 professionals; 21 offices across 5 western states; largest independent West Coast CRE firm",
+      "sources": [
+        "https://kidder.com/office-locations/los-angeles/",
+        "https://www.yelp.com/biz/kidder-mathews-los-angeles-6",
+        "https://www.linkedin.com/company/kidder-mathews"
+      ]
+    },
+    {
+      "company_name": "Lee & Associates",
+      "aliases": [
+        "Lee and Associates",
+        "Lee & Associates Commercial Real Estate"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 7,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.lee-associates.com",
+      "main_phone": "+1 310 899 2700",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/lee-and-associates",
+      "specialties": [
+        "office",
+        "industrial",
+        "retail",
+        "multifamily",
+        "land",
+        "capital markets",
+        "tenant representation",
+        "property management",
+        "valuation",
+        "asset management"
+      ],
+      "la_presence": "Founded 1979. Largest broker-owned commercial real estate firm in North America. Multiple LA offices including West LA (established 1994) and newly expanded Downtown LA office (2022), plus Long Beach, Sherman Oaks, and Central LA locations.",
+      "key_metric": "Multiple LA offices; largest broker-owned CRE firm in North America",
+      "sources": [
+        "https://www.lee-associates.com/downtownla/",
+        "https://leewestla.com/",
+        "https://www.linkedin.com/company/lee-and-associates"
+      ]
+    },
+    {
+      "company_name": "Marcus & Millichap",
+      "aliases": [
+        "Marcus and Millichap",
+        "M&M"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 8,
+      "address": "1900 Avenue of the Stars",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90067",
+      "website": "https://www.marcusmillichap.com",
+      "main_phone": "+1 310 909 5500",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/marcus-&-millichap",
+      "specialties": [
+        "investment sales",
+        "multifamily",
+        "retail",
+        "office",
+        "net lease",
+        "self-storage",
+        "seniors housing",
+        "hospitality",
+        "land",
+        "capital markets",
+        "financing"
+      ],
+      "la_presence": "Founded 1971. Flagship Century City office opened February 2023 with ~180 commercial real estate brokers and capital markets financing professionals. Century City office consolidates former Downtown and West LA offices.",
+      "key_metric": "~180 professionals in Los Angeles Century City office",
+      "sources": [
+        "https://www.marcusmillichap.com/about-us/offices/losangeles-california",
+        "https://www.marcusmillichap.com/news-events/press/2023/02/marcus-and-millichap-announces-new-office-opening-in-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Avison Young",
+      "aliases": [
+        "Avison Young US",
+        "Avison Young Commercial"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 9,
+      "address": "601 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.avisonyoung.us",
+      "main_phone": "+1 213 935 7430",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/avison-young",
+      "specialties": [
+        "office",
+        "retail",
+        "industrial",
+        "capital markets",
+        "tenant representation",
+        "landlord representation",
+        "property management",
+        "research",
+        "market intelligence"
+      ],
+      "la_presence": "Global firm founded 1978 with 100+ offices in 20 countries. Strong Los Angeles presence with brokers and advisors in Downtown LA, North LA, and West LA. Top-tier research department providing quarterly market insights.",
+      "key_metric": "100+ offices in 20 countries; 1,000+ employees across North America",
+      "sources": [
+        "https://www.avisonyoung.us/locations/ca/los-angeles",
+        "https://www.avisonyoung.us/web/los-angeles",
+        "https://www.linkedin.com/company/avison-young"
+      ]
+    },
+    {
+      "company_name": "Savills",
+      "aliases": [
+        "Savills PLC",
+        "Savills USA"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 10,
+      "address": "1900 Avenue of the Stars",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90067",
+      "website": "https://www.savills.us",
+      "main_phone": "+1 310 444 1000",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/savills",
+      "specialties": [
+        "office",
+        "retail",
+        "industrial",
+        "capital markets",
+        "tenant representation",
+        "property management",
+        "valuation & advisory"
+      ],
+      "la_presence": "Global brokerage with 1,000+ employees across 40 North America offices. Consolidated Los Angeles offices at full floor at 1900 Avenue of the Stars in Century City (~20,000 sq ft), combining former Westwood and Downtown LA locations under single experiential hub.",
+      "key_metric": "1,000+ employees across North America; 40 offices in North America",
+      "sources": [
+        "https://www.savills.us/offices/los-angeles.aspx",
+        "https://www.savills.us/insight-and-opinion/savills-news/374137/savills-relocates-los-angeles-office-to-1900-avenue-of-the-stars"
+      ]
+    },
+    {
+      "company_name": "NAI Capital",
+      "aliases": [
+        "NAI Capital Commercial",
+        "NAI Capital Commercial, Inc."
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 11,
+      "address": "15821 Ventura Boulevard",
+      "city": "Encino",
+      "state": "CA",
+      "zip": "91436",
+      "website": "https://www2.naicapital.com",
+      "main_phone": "+1 818 905 2400",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/nai-capital",
+      "specialties": [
+        "industrial",
+        "office",
+        "retail",
+        "multifamily",
+        "land",
+        "capital markets",
+        "tenant representation",
+        "property management"
+      ],
+      "la_presence": "Largest independently owned full-service commercial real estate firm headquartered in Southern California. 14+ offices serving Los Angeles, Orange, Riverside, San Bernardino, Ventura, and Kern Counties. Encino headquarters with additional offices in Downtown LA, South Bay, West LA, and throughout region. Annual transaction volume exceeds $3 billion.",
+      "key_metric": "250+ professionals; 14+ LA-area offices; $3+ billion annual transaction volume",
+      "sources": [
+        "https://www2.naicapital.com/",
+        "https://www2.naicapital.com/office-locations/nai-capital-hq-encino/",
+        "https://www2.naicapital.com/office-locations-staging/nai-capital-downtown-la/"
+      ]
+    },
+    {
+      "company_name": "Matthews Real Estate Investment Services",
+      "aliases": [
+        "Matthews",
+        "Matthews REIS"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 12,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.matthews.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/matthews-real-estate-investment-services",
+      "specialties": [
+        "investment sales",
+        "multifamily",
+        "leasing",
+        "debt financing",
+        "structured finance",
+        "capital advisory",
+        "valuation"
+      ],
+      "la_presence": "Largest privately held commercial real estate firm in the nation with strong Los Angeles market presence. Specialists in multifamily investment sales and acquisition services for Greater LA area (Los Angeles, Orange, Riverside, San Bernardino, Ventura counties) across all property types.",
+      "key_metric": "Largest privately held CRE firm in the nation; active in Greater LA multifamily market",
+      "sources": [
+        "https://www.matthews.com/",
+        "https://www.matthews.com/about-us",
+        "https://www.linkedin.com/company/matthews-real-estate-investment-services"
+      ]
+    },
+    {
+      "company_name": "DAUM Commercial Real Estate Services",
+      "aliases": [
+        "DAUM CRE",
+        "DAUM Commercial"
+      ],
+      "category": "Commercial Real Estate Brokerage Firms",
+      "labj_rank": 13,
+      "address": "801 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://daumcommercial.com",
+      "main_phone": "+1 213 626 9101",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/daum-commercial-real-estate-services",
+      "specialties": [
+        "industrial",
+        "office",
+        "retail",
+        "land",
+        "corporate services",
+        "consulting",
+        "leasing",
+        "property management"
+      ],
+      "la_presence": "California's oldest commercial real estate brokerage firm, founded 1904 as Los Angeles' first commercial brokerage. Ten offices throughout Southern California and Arizona. Played instrumental role in bringing 6,500+ companies to Los Angeles market and helping city grow commercially and culturally.",
+      "key_metric": "Founded 1904 (oldest LA CRE firm); 10 offices across Southern California and Arizona",
+      "sources": [
+        "https://daumcommercial.com/office/los-angeles/",
+        "https://www.yelp.com/biz/daum-commercial-real-estate-services-los-angeles",
+        "https://www.linkedin.com/company/daum-commercial-real-estate-services"
+      ]
+    }
+  ]
+}
diff --git a/data/enriched/contractors_architects.json b/data/enriched/contractors_architects.json
new file mode 100644
index 0000000..f624d5a
--- /dev/null
+++ b/data/enriched/contractors_architects.json
@@ -0,0 +1,381 @@
+{
+  "lane": "contractors_architects",
+  "companies": [
+    {
+      "company_name": "Tutor Perini Corporation",
+      "aliases": ["Tutor Perini", "Tutor Perini Corp"],
+      "category": "General Contractors",
+      "labj_rank": 1,
+      "address": "15901 Olden Street",
+      "city": "Sylmar",
+      "state": "CA",
+      "zip": "91342",
+      "website": "https://www.tutorperini.com",
+      "main_phone": "(818) 362-8391",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/tutor-perini-corporation",
+      "specialties": ["Civil Construction", "Building Construction", "Specialty Projects", "Airports", "Healthcare", "Entertainment", "Public Transit"],
+      "la_presence": "Headquarters office in LA County (Sylmar); major regional operations",
+      "key_metric": "~$981 million in LA County billings (2024)",
+      "sources": [
+        "https://www.tutorperini.com/contact-us/",
+        "https://www.yelp.com/biz/tutor-perini-corp-sylmar"
+      ]
+    },
+    {
+      "company_name": "Turner Construction Company",
+      "aliases": ["Turner", "Turner Construction"],
+      "category": "General Contractors",
+      "labj_rank": 2,
+      "address": "555 South Flower Street, Suite 4220",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.turnerconstruction.com",
+      "main_phone": "(213) 891-3000",
+      "top_local_executive": "Jaimie Turner",
+      "exec_title": "Vice President & General Manager",
+      "marketing_pr_contact": "Brittney Parkinson",
+      "marketing_pr_title": "Senior Director of Community & Citizenship",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/turner-construction",
+      "specialties": ["Hospitals", "University Buildings", "Sports Arenas", "High-Rise Offices", "Commercial Construction"],
+      "la_presence": "Major LA division with ~$814 million in local billings",
+      "key_metric": "~$814 million in LA County billings (2024)",
+      "sources": [
+        "https://www.turnerconstruction.com/locations/southern-california",
+        "https://www.yelp.com/biz/turner-construction-company-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Swinerton Builders",
+      "aliases": ["Swinerton", "Swinerton Inc"],
+      "category": "General Contractors",
+      "labj_rank": 3,
+      "address": "865 South Figueroa Street, Suite 3000",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://swinerton.com",
+      "main_phone": "(213) 896-3400",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/swinerton",
+      "specialties": ["Commercial Construction", "Education", "Entertainment", "Healthcare", "High-Tech"],
+      "la_presence": "100% employee-owned general contractor with major LA office in downtown LA",
+      "key_metric": "~$723 million in LA County billings (2024)",
+      "sources": [
+        "https://swinerton.com/locations/los-angeles/",
+        "https://www.yelp.com/biz/swinerton-builders-los-angeles-3"
+      ]
+    },
+    {
+      "company_name": "Clark Construction Group",
+      "aliases": ["Clark Construction", "Clark"],
+      "category": "General Contractors",
+      "labj_rank": 4,
+      "address": "515 South Figueroa Street, Suite 2000",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.clarkconstruction.com",
+      "main_phone": "(213) 933-2103",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/clark-construction-group",
+      "specialties": ["Commercial Construction", "Infrastructure", "Complex Projects"],
+      "la_presence": "Major LA regional office in downtown LA",
+      "key_metric": "",
+      "sources": [
+        "https://www.clarkconstruction.com/about-us/offices/los-angeles",
+        "https://www.yelp.com/biz/clark-construction-group-los-angeles"
+      ]
+    },
+    {
+      "company_name": "PCL Construction Services, Inc.",
+      "aliases": ["PCL Construction", "PCL"],
+      "category": "General Contractors",
+      "labj_rank": null,
+      "address": "500 North Brand Boulevard",
+      "city": "Glendale",
+      "state": "CA",
+      "zip": "91203",
+      "website": "https://www.pcl.com/us",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/pcl-construction",
+      "specialties": ["Commercial Construction", "Complex Projects", "Regional Operations"],
+      "la_presence": "Glendale office serving LA County; California Building group active since 1985",
+      "key_metric": "",
+      "sources": [
+        "https://www.pcl.com/us/en/who-we-are/our-offices/los-angeles",
+        "https://www.yelp.com/biz/pcl-construction-services-inc-glendale"
+      ]
+    },
+    {
+      "company_name": "Gensler",
+      "aliases": ["Gensler Inc", "A Gensler Architects"],
+      "category": "Architecture Firms",
+      "labj_rank": 1,
+      "address": "500 South Figueroa Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.gensler.com",
+      "main_phone": "(213) 327-3600",
+      "top_local_executive": "Kevin Heinly",
+      "exec_title": "Co-Regional Managing Principal",
+      "marketing_pr_contact": "Monica Schaffer",
+      "marketing_pr_title": "Communications Director, Southwest Region",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/gensler",
+      "specialties": ["Commercial", "Hospitality", "Residential", "Mixed-Use", "Office Design", "Retail"],
+      "la_presence": "Major LA headquarters; top-ranked architecture firm by billings",
+      "key_metric": "Ranked #1 architecture firm in LA County by billings",
+      "sources": [
+        "https://www.gensler.com/offices/los-angeles",
+        "https://www.gensler.com/offices/los-angeles/leaders",
+        "https://www.yelp.com/biz/gensler-los-angeles"
+      ]
+    },
+    {
+      "company_name": "HKS Architects",
+      "aliases": ["HKS Inc", "HKS"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "10880 Wilshire Boulevard, Suite 1850",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90024",
+      "website": "https://www.hksinc.com",
+      "main_phone": "(310) 788-7700",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/hks-architects",
+      "specialties": ["Healthcare", "Hospitality", "Sports", "Office", "Commercial"],
+      "la_presence": "Major LA office on Wilshire Boulevard; regional headquarters for SW region",
+      "key_metric": "",
+      "sources": [
+        "https://www.hksinc.com/our-offices/los-angeles",
+        "https://www.yelp.com/biz/hks-architects-beverly-hills"
+      ]
+    },
+    {
+      "company_name": "HOK (Hellmuth Obata & Kassabaum)",
+      "aliases": ["HOK", "Hellmuth Obata Kassabaum"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "757 South Alameda Street, Suite 400",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90021",
+      "website": "https://www.hok.com",
+      "main_phone": "(310) 838-9555",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/hok",
+      "specialties": ["Healthcare", "Hospitality", "Office", "Sports", "Mixed-Use"],
+      "la_presence": "Downtown LA office (relocated from Culver City); located in ROW DTLA Arts District",
+      "key_metric": "",
+      "sources": [
+        "https://www.hok.com/studios/los-angeles/",
+        "https://www.yelp.com/biz/hok-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Perkins&Will",
+      "aliases": ["Perkins and Will", "Perkins+Will"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "646 North Spring Street",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90012",
+      "website": "https://perkinswill.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/perkinswill",
+      "specialties": ["Commercial", "Healthcare", "Office", "Education", "Civic"],
+      "la_presence": "LA office in Chinatown; merged with Abramson Architects",
+      "key_metric": "",
+      "sources": [
+        "https://perkinswill.com/studio/los-angeles/",
+        "https://perkinswill.com/news/abramson-architects-merges-with-perkins-and-will/"
+      ]
+    },
+    {
+      "company_name": "Nadel Architects",
+      "aliases": ["Nadel Architects Inc", "Nadel"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "1990 South Bundy Drive, Suite 400",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90025",
+      "website": "https://www.nadelarc.com",
+      "main_phone": "(310) 826-2100",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/nadel-architects",
+      "specialties": ["Commercial", "Office", "Hospitality", "Mixed-Use", "Residential"],
+      "la_presence": "Established LA office in Westside LA",
+      "key_metric": "",
+      "sources": [
+        "https://www.nadelarc.com/",
+        "https://www.yelp.com/biz/nadel-los-angeles"
+      ]
+    },
+    {
+      "company_name": "DLR Group",
+      "aliases": ["DLR", "DLR Group Architects"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "700 South Flower Street, 22nd Floor",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.dlrgroup.com",
+      "main_phone": "(213) 800-9400",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/dlr-group",
+      "specialties": ["Commercial", "Healthcare", "Office", "Education", "Mixed-Use"],
+      "la_presence": "Downtown LA office; significant regional presence",
+      "key_metric": "",
+      "sources": [
+        "https://www.dlrgroup.com/office-location/los-angeles",
+        "https://www.yelp.com/biz/dlr-group-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Gruen Associates",
+      "aliases": ["Gruen", "Gruen Associates Inc"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "6330 San Vicente Boulevard, Suite 200",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90048",
+      "website": "https://www.gruenassociates.com",
+      "main_phone": "(323) 937-4270",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/gruen-associates",
+      "specialties": ["Urban Planning", "Architecture", "Landscape Architecture", "Mixed-Use", "Commercial"],
+      "la_presence": "Established LA office in Mid-LA (San Vicente area)",
+      "key_metric": "",
+      "sources": [
+        "https://www.gruenassociates.com/",
+        "https://www.yelp.com/biz/gruen-associates-architecture-planning-interior-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Rios Clementi Hale Studios",
+      "aliases": ["RCHS", "Rios Clementi Hale", "RCH Studios"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "639 North Larchmont Boulevard",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90004",
+      "website": "https://rioschale.com",
+      "main_phone": "",
+      "top_local_executive": "Mark Rios",
+      "exec_title": "Founder/Principal",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/rios-clementi-hale-studios",
+      "specialties": ["Urban Planning", "Landscape Architecture", "Interior Design", "Graphic Design", "Fashion Design", "Commercial"],
+      "la_presence": "Transdisciplinary studio in Crenshaw neighborhood near Expo/Crenshaw light-rail",
+      "key_metric": "",
+      "sources": [
+        "https://www.yelp.com/biz/rios-clementi-hale-studios-los-angeles",
+        "https://www.archdaily.com/903816/rios-clementi-hale-studios-address-gentrification-through-new-la-office"
+      ]
+    },
+    {
+      "company_name": "AC Martin Partners",
+      "aliases": ["AC Martin", "A.C. Martin"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "900 Wilshire Boulevard, Suite 2800",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.acmartin.com",
+      "main_phone": "(213) 683-0100",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/ac-martin-partners",
+      "specialties": ["Commercial", "High-Rise", "Mixed-Use", "Office", "Hospitality", "Residential"],
+      "la_presence": "Headquarters office in downtown LA",
+      "key_metric": "",
+      "sources": [
+        "https://www.acmartin.com/",
+        "https://www.yelp.com/biz/ac-martin-partners-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Killefer Flammang Architects (KFA)",
+      "aliases": ["KFA", "Killefer Flammang", "KFA Architecture"],
+      "category": "Architecture Firms",
+      "labj_rank": null,
+      "address": "1625 Olympic Boulevard",
+      "city": "Santa Monica",
+      "state": "CA",
+      "zip": "90404",
+      "website": "https://kfalosangeles.com",
+      "main_phone": "(310) 399-8545",
+      "top_local_executive": "Wade Killefer",
+      "exec_title": "Founder, FAIA",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/kfa-architecture",
+      "specialties": ["Housing", "Civic", "Campus", "Mixed-Use", "Adaptive Reuse", "Historic Preservation"],
+      "la_presence": "LA-based firm with 50+ years; multiple offices in LA metro area",
+      "key_metric": "Pioneer in adaptive reuse; 40+ historic buildings in Downtown LA",
+      "sources": [
+        "https://kfalosangeles.com/",
+        "https://www.houzz.com/professionals/architects-and-building-designers/killefer-flammang-architects-pfvwus-pf~128535908"
+      ]
+    }
+  ]
+}
diff --git a/data/enriched/developers.json b/data/enriched/developers.json
new file mode 100644
index 0000000..655291c
--- /dev/null
+++ b/data/enriched/developers.json
@@ -0,0 +1,495 @@
+{
+  "lane": "developers",
+  "companies": [
+    {
+      "company_name": "Watson Land Company",
+      "aliases": [],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "",
+      "state": "",
+      "zip": "",
+      "website": "https://www.watsonland.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/watson-land-company",
+      "specialties": [
+        "Industrial",
+        "Warehouse",
+        "Distribution"
+      ],
+      "la_presence": "South Bay of Los Angeles, Inland Empire; operates 22+ million sq ft portfolio across Southern California",
+      "key_metric": "23 million sq ft portfolio in 109 buildings",
+      "sources": [
+        "https://www.watsonland.com/about_us.htm",
+        "https://www.linkedin.com/company/watson-land-company"
+      ]
+    },
+    {
+      "company_name": "Rexford Industrial Realty, Inc.",
+      "aliases": [
+        "Rexford Industrial"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "9000 Airport Blvd",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.rexfordindustrial.com",
+      "main_phone": "310.966.1680",
+      "top_local_executive": "Laura Clark",
+      "exec_title": "Chief Executive Officer",
+      "marketing_pr_contact": "Doug Bettisworth",
+      "marketing_pr_title": "SVP Investor Relations & Capital Markets",
+      "public_email": "contact@rexfordindustrial.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/rexford-industrial",
+      "specialties": [
+        "Industrial",
+        "Logistics",
+        "Redevelopment",
+        "Value-add"
+      ],
+      "la_presence": "Primary focus on infill Southern California markets including South Bay/LAX, San Gabriel Valley, Inland Empire; operates portfolio of repositioning projects",
+      "key_metric": "9 million sq ft of value-add repositioning embedded in portfolio",
+      "sources": [
+        "https://www.rexfordindustrial.com",
+        "https://ir.rexfordindustrial.com/governance/executive-team",
+        "https://ir.rexfordindustrial.com/resources/contacts"
+      ]
+    },
+    {
+      "company_name": "Hudson Pacific Properties, Inc.",
+      "aliases": [
+        "Hudson Pacific"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "11601 Wilshire Boulevard",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90025",
+      "website": "https://www.hudsonpacificproperties.com",
+      "main_phone": "310.445.5700",
+      "top_local_executive": "Victor Coleman",
+      "exec_title": "Chairman and CEO",
+      "marketing_pr_contact": "Laura Campbell",
+      "marketing_pr_title": "Executive Vice President, Investor Relations & Marketing",
+      "public_email": "IR@hudsonppi.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/hudson-pacific-properties",
+      "specialties": [
+        "Creative Office",
+        "Studio Properties",
+        "Tech and Media",
+        "Redevelopment"
+      ],
+      "la_presence": "Major Los Angeles developer focusing on West LA and coastal markets; primary headquarters location in LA",
+      "key_metric": "Portfolio across Los Angeles, Silicon Valley, San Francisco, Seattle, Vancouver B.C.",
+      "sources": [
+        "https://www.hudsonpacificproperties.com/about",
+        "https://investors.hudsonpacificproperties.com/leadership-and-governance/executive-management/default.aspx",
+        "https://investors.hudsonpacificproperties.com/investor-resources/ir-contacts/default.aspx"
+      ]
+    },
+    {
+      "company_name": "Kilroy Realty Corporation",
+      "aliases": [
+        "Kilroy Realty"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "12200 West Olympic Blvd, Suite 200",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90064",
+      "website": "https://kilroyrealty.com",
+      "main_phone": "310.481.8400",
+      "top_local_executive": "Angela M. Aman",
+      "exec_title": "Chief Executive Officer",
+      "marketing_pr_contact": "Doug Bettisworth",
+      "marketing_pr_title": "Vice President, Corporate Finance",
+      "public_email": "investorrelations@kilroyrealty.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/kilroy-realty",
+      "specialties": [
+        "Class A Office",
+        "Media",
+        "Technology",
+        "Creative Space"
+      ],
+      "la_presence": "Flagship LA developer; headquarters in West LA; extensive portfolio across Los Angeles including Westside Media Center, Columbia Square, Sunset Media Center",
+      "key_metric": "Premier West Coast real estate platform with extensive LA office portfolio",
+      "sources": [
+        "https://kilroyrealty.com",
+        "https://kilroyrealty.com/company/contact/",
+        "https://investors.kilroyrealty.com/investors/overview/management-directors/default.aspx"
+      ]
+    },
+    {
+      "company_name": "Douglas Emmett Inc.",
+      "aliases": [
+        "Douglas Emmett"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "Santa Monica",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.douglasemmett.com",
+      "main_phone": "310.255.7777",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "Stuart McElhinney",
+      "marketing_pr_title": "Vice President, Investor Relations",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/douglas-emmett",
+      "specialties": [
+        "Class A Office",
+        "Multifamily",
+        "Apartment",
+        "Coastal Markets"
+      ],
+      "la_presence": "Flagship LA developer headquartered in Santa Monica; operates 18+ million sq ft of office space and 5,000+ apartment units across 9 Los Angeles County submarkets",
+      "key_metric": "18 million sq ft Class A office space + 5,000+ apartment units across Los Angeles and Hawaii",
+      "sources": [
+        "https://www.douglasemmett.com",
+        "https://www.douglasemmett.com/our-story",
+        "https://ir.douglasemmett.com/overview/default.aspx"
+      ]
+    },
+    {
+      "company_name": "CIM Group",
+      "aliases": [],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.cimgroup.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cimgroup",
+      "specialties": [
+        "Mixed-use",
+        "Commercial",
+        "Development",
+        "Infrastructure",
+        "Creative Office"
+      ],
+      "la_presence": "LA headquarters base for development platform; active in Central Los Angeles and broader regional markets",
+      "key_metric": "600+ real estate and infrastructure assets across Americas and Western Europe; founded 1994",
+      "sources": [
+        "https://www.cimgroup.com",
+        "https://www.cimgroup.com/about",
+        "https://www.cimgroup.com/about-us/office-locations"
+      ]
+    },
+    {
+      "company_name": "Trammell Crow Company",
+      "aliases": [
+        "Crow Holdings"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "527 W 7th St, Suite 308",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90014",
+      "website": "",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/trammell-crow-company",
+      "specialties": [
+        "Commercial Development",
+        "Industrial",
+        "Residential",
+        "Mixed-use"
+      ],
+      "la_presence": "SoCal Los Angeles office location; active in Southern California housing and commercial investment",
+      "key_metric": "650 professionals across 26 major cities; diversified national developer",
+      "sources": [
+        "https://www.linkedin.com/company/trammell-crow-company",
+        "https://www.linkedin.com/company/crow-holdings-l-l-c-"
+      ]
+    },
+    {
+      "company_name": "Hines",
+      "aliases": [],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "12101 W Olympic Blvd, Suite 200",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90064",
+      "website": "https://www.hines.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/hines",
+      "specialties": [
+        "Mixed-use",
+        "Office",
+        "Residential",
+        "Commercial",
+        "Sustainable Development"
+      ],
+      "la_presence": "West Region headquarters at West Edge in West Los Angeles; active developer in LA market with LEED-certified projects",
+      "key_metric": "4.8-acre West Edge mixed-use development (217k sq ft office, 600 luxury apartments, 80k sq ft retail); LEED Platinum pursuit",
+      "sources": [
+        "https://www.hines.com",
+        "https://www.hines.com/properties/west-edge-los-angeles",
+        "https://www.hines.com/news/hines-unveils-new-west-region-headquarters-at-west-edge"
+      ]
+    },
+    {
+      "company_name": "Related California",
+      "aliases": [
+        "Related Companies"
+      ],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "333 South Grand Ave, Suite 4450",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.related.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/related-california-llc",
+      "specialties": [
+        "Residential",
+        "Multifamily",
+        "Mixed-use",
+        "Commercial"
+      ],
+      "la_presence": "Active LA developer; one of most active residential developers in Los Angeles, San Francisco, San Diego",
+      "key_metric": "Thousands of residential units developed across California",
+      "sources": [
+        "https://www.related.com",
+        "https://www.related.com/our-company/contact-us",
+        "https://www.related.com/our-company/locations"
+      ]
+    },
+    {
+      "company_name": "KB Home",
+      "aliases": [
+        "Kaufman and Broad"
+      ],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "10990 Wilshire Blvd, Floor 7",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90024",
+      "website": "https://www.kbhome.com",
+      "main_phone": "310.231.4000",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/kb-home",
+      "specialties": [
+        "Residential",
+        "New Homes",
+        "Single-family",
+        "Community Development"
+      ],
+      "la_presence": "Flagship LA headquarters; major builder of new homes across Los Angeles and Ventura County",
+      "key_metric": "National residential builder with extensive LA County operations",
+      "sources": [
+        "https://www.kbhome.com",
+        "https://www.kbhome.com/corporate-contacts",
+        "https://news.kbhome.com/about-us/default.aspx"
+      ]
+    },
+    {
+      "company_name": "Carmel Partners",
+      "aliases": [],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "429 Santa Monica Boulevard, Suite 700",
+      "city": "Santa Monica",
+      "state": "CA",
+      "zip": "90401",
+      "website": "https://www.carmelpartners.com",
+      "main_phone": "424.291.8604",
+      "top_local_executive": "Mike Ruiz",
+      "exec_title": "Partner, Acquisitions & Development",
+      "marketing_pr_contact": "Mike Ruiz",
+      "marketing_pr_title": "Partner, Acquisitions & Development",
+      "public_email": "mruiz@carmelpartners.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/carmel-partners",
+      "specialties": [
+        "Multifamily",
+        "Residential",
+        "Luxury Apartments",
+        "Development",
+        "Mixed-use"
+      ],
+      "la_presence": "Active Santa Monica-based developer with major LA projects including Alloy (Arts District), Linea (West LA), Atelier (DTLA)",
+      "key_metric": "43,000+ apartment units developed with $13.5B+ estimated value; 350+ properties",
+      "sources": [
+        "https://www.carmelpartners.com",
+        "https://www.carmelpartners.com/contact/southern-california/",
+        "https://www.carmelpartners.com/the-firm/"
+      ]
+    },
+    {
+      "company_name": "Holland Partner Group",
+      "aliases": [
+        "HPG"
+      ],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "808 Washington St, Suite 500",
+      "city": "Vancouver",
+      "state": "WA",
+      "zip": "98660",
+      "website": "https://www.hollandpartnergroup.com",
+      "main_phone": "360.694.7888",
+      "top_local_executive": "David Greenberg",
+      "exec_title": "President - Residential",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "info@hollandpartnergroup.com",
+      "linkedin_company_url": "https://www.linkedin.com/company/holland-partner-group",
+      "specialties": [
+        "Residential",
+        "Multifamily",
+        "Development",
+        "Construction",
+        "Property Management"
+      ],
+      "la_presence": "Active Southern California developer; co-leads SoCal housing investment; operates across LA, Orange County, Inland Empire, San Diego, Ventura",
+      "key_metric": "40,000+ units built/developed/acquired/transacted; 750+ team members across West",
+      "sources": [
+        "https://www.hollandpartnergroup.com",
+        "https://www.hollandpartnergroup.com/leadership",
+        "https://www.hollandpartnergroup.com/Press-information"
+      ]
+    },
+    {
+      "company_name": "The Bascom Group",
+      "aliases": [
+        "Bascom"
+      ],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "Irvine",
+      "state": "CA",
+      "zip": "",
+      "website": "",
+      "main_phone": "",
+      "top_local_executive": "Jerry Fink",
+      "exec_title": "Managing Partner",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/the-bascom-group",
+      "specialties": [
+        "Multifamily",
+        "Residential",
+        "Value-added",
+        "Commercial",
+        "Apartment Acquisition"
+      ],
+      "la_presence": "Irvine-based major Southern California operator; active across LA region",
+      "key_metric": "$21 billion in multifamily transactions; 350+ multifamily properties; 100,000+ units",
+      "sources": [
+        "https://www.linkedin.com/company/the-bascom-group",
+        "https://www.linkedin.com/in/jerryfink/",
+        "https://www.linkedin.com/in/david-kim-79661110/"
+      ]
+    },
+    {
+      "company_name": "Legacy Partners",
+      "aliases": [],
+      "category": "Residential Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "Irvine",
+      "state": "CA",
+      "zip": "",
+      "website": "https://legacypartners.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/legacy-partners",
+      "specialties": [
+        "Multifamily",
+        "Residential",
+        "Apartment Development",
+        "Property Management",
+        "Acquisition"
+      ],
+      "la_presence": "Irvine regional office serves Southern California operations including LA markets",
+      "key_metric": "78,000+ apartment homes developed since 1968; major institutional relationships",
+      "sources": [
+        "https://legacypartners.com",
+        "https://legacypartners.com/about/",
+        "https://legacypartners.com/contact-us/"
+      ]
+    },
+    {
+      "company_name": "Rising Realty Partners",
+      "aliases": [
+        "Rising"
+      ],
+      "category": "Commercial Real Estate Developers",
+      "labj_rank": null,
+      "address": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "",
+      "main_phone": "",
+      "top_local_executive": "Scott McMullin",
+      "exec_title": "Chairman & Chief Investment Officer",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/rising-realty-partners",
+      "specialties": [
+        "Commercial",
+        "Industrial",
+        "Repositioning",
+        "Development",
+        "Sustainable",
+        "LEED"
+      ],
+      "la_presence": "LA-based full-service developer; operates major downtown LA properties including The CalEdison, U.S. Bank Tower",
+      "key_metric": "Notable assets: CalEdison (LEED Platinum), U.S. Bank Tower (24k sq ft Wilson Elser lease)",
+      "sources": [
+        "https://www.linkedin.com/company/rising-realty-partners",
+        "https://www.linkedin.com/in/scott-mcmullin-bb56b421/",
+        "https://www.linkedin.com/in/stephen-achorn-05674291/"
+      ]
+    }
+  ]
+}
diff --git a/data/enriched/property_mgmt.json b/data/enriched/property_mgmt.json
new file mode 100644
index 0000000..ac3887a
--- /dev/null
+++ b/data/enriched/property_mgmt.json
@@ -0,0 +1,343 @@
+{
+  "lane": "property_mgmt",
+  "companies": [
+    {
+      "company_name": "Cushman & Wakefield",
+      "aliases": ["C&W"],
+      "category": "Property Management Firms",
+      "labj_rank": 1,
+      "address": "900 Wilshire Boulevard",
+      "suite": "Suite 2400",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.cushmanwakefield.com",
+      "main_phone": "+1 213 955 5100",
+      "top_local_executive": "Robert Thornburgh",
+      "exec_title": "Regional President, Southwest",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cushman-&-wakefield",
+      "specialties": ["Commercial Real Estate", "Property Management", "Office", "Retail", "Industrial", "Multifamily"],
+      "la_presence": "Five offices throughout Southern California including Downtown LA, West LA, Long Beach, Inland Empire, Orange County",
+      "key_metric": "100+ brokerage professionals across Southern California",
+      "sources": [
+        "https://www.cushmanwakefield.com/en/united-states/offices/downtown-los-angeles",
+        "https://www.yelp.com/biz/cushman-and-wakefield-los-angeles-4"
+      ]
+    },
+    {
+      "company_name": "JLL (Jones Lang LaSalle)",
+      "aliases": ["Jones Lang LaSalle"],
+      "category": "Property Management Firms",
+      "labj_rank": 2,
+      "address": "2049 Century Park East",
+      "suite": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90067",
+      "website": "https://www.jll.com",
+      "main_phone": "",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/jll",
+      "specialties": ["Commercial Real Estate", "Property Management", "Leasing", "Tenant Representation", "Project Development"],
+      "la_presence": "Major office in Century Park serving Greater Los Angeles market",
+      "key_metric": "",
+      "sources": [
+        "https://www.jll.com/en-us/locations/los-angeles",
+        "https://www.yelp.com/biz/jones-lang-lasalle-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Colliers International",
+      "aliases": ["Colliers", "Colliers Greater Los Angeles"],
+      "category": "Property Management Firms",
+      "labj_rank": 3,
+      "address": "865 South Figueroa Street",
+      "suite": "Suite 3500",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://www.colliers.com",
+      "main_phone": "(213) 532-3203",
+      "top_local_executive": "Kevin Rude",
+      "exec_title": "Regional Managing Director, West Coast",
+      "marketing_pr_contact": "Tina Minook",
+      "marketing_pr_title": "Regional Managing Director, California Real Estate Management Services",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/colliers-international",
+      "specialties": ["Commercial Real Estate", "Property Management", "Transaction Advisory", "Capital Markets", "Leasing"],
+      "la_presence": "Nine offices across Los Angeles County with 165+ brokerage specialists and 40 property management professionals; manages 16.4M+ sq ft",
+      "key_metric": "16.4 million square feet under management in Greater Los Angeles",
+      "sources": [
+        "https://www.colliers.com/en/countries/united-states/cities/los-angeles/pellow-office-team",
+        "https://www.colliers.com/en/news/los-angeles/colliers-cements-leasing-pm-assignment-of-ey-plaza-in-dtla"
+      ]
+    },
+    {
+      "company_name": "CBRE",
+      "aliases": ["CBRE Group", "CB Richard Ellis"],
+      "category": "Property Management Firms",
+      "labj_rank": 4,
+      "address": "2000 Avenue of the Stars",
+      "suite": "Suite 800",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90067",
+      "website": "https://www.cbre.com",
+      "main_phone": "(310) 550-2500",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/cbre",
+      "specialties": ["Commercial Real Estate", "Property Management", "Facilities Management", "Project Management", "Investment Management", "Leasing", "Development"],
+      "la_presence": "1,100+ professionals across full-service offices in Greater Los Angeles",
+      "key_metric": "1,100+ professionals; world's largest commercial real estate services firm",
+      "sources": [
+        "https://www.cbre.com/offices/corporate/los-angeles",
+        "https://www.yelp.com/biz/jones-lang-lasalle-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Transwestern",
+      "aliases": ["Transwestern Commercial Services", "Transwestern Real Estate Services"],
+      "category": "Property Management Firms",
+      "labj_rank": 5,
+      "address": "601 Figueroa Street",
+      "suite": "Suite 2750",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://transwestern.com",
+      "main_phone": "(213) 624-5700",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/transwestern",
+      "specialties": ["Commercial Real Estate", "Property Management", "Agency Leasing", "Asset Services", "Tenant Advisory", "Capital Markets", "Development"],
+      "la_presence": "Leading commercial real estate firm with full range of services across Greater Los Angeles",
+      "key_metric": "",
+      "sources": [
+        "https://transwestern.com/location/los-angeles/",
+        "https://www.yelp.com/biz/transwestern-los-angeles-2"
+      ]
+    },
+    {
+      "company_name": "Douglas Emmett",
+      "aliases": ["Douglas Emmett Inc.", "DEI"],
+      "category": "Property Management Firms - Office",
+      "labj_rank": null,
+      "address": "1299 Ocean Avenue",
+      "suite": "Suite 1000",
+      "city": "Santa Monica",
+      "state": "CA",
+      "zip": "90401",
+      "website": "https://www.douglasemmett.com",
+      "main_phone": "(310) 255-7700",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/douglas-emmett",
+      "specialties": ["Class A Office Properties", "Luxury Apartment Communities", "Property Management", "Leasing", "Construction", "Maintenance"],
+      "la_presence": "71 Class-A office properties (18.2M+ sq ft) and 14 premier apartment communities (5,000+ units) across nine LA County submarkets",
+      "key_metric": "18.2 million square feet of Class A office space; 5,000+ apartment units",
+      "sources": [
+        "https://www.douglasemmett.com/",
+        "https://www.yelp.com/biz/douglas-emmett-company-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Kilroy Realty",
+      "aliases": ["Kilroy Realty Corporation", "KRC"],
+      "category": "Property Management Firms - Office",
+      "labj_rank": null,
+      "address": "12200 West Olympic Boulevard",
+      "suite": "Suite 200",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90064",
+      "website": "https://kilroyrealty.com",
+      "main_phone": "(310) 481-8400",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/kilroy-realty-corporation",
+      "specialties": ["Office Properties", "Life Science Properties", "Mixed-Use Properties", "Property Management", "Development", "Acquisition"],
+      "la_presence": "Headquarters in Los Angeles; owns and manages office, life science, and mixed-use properties across coastal Southern California",
+      "key_metric": "16.2 million square feet of stabilized portfolio; 1,000+ residential units in Hollywood and San Diego",
+      "sources": [
+        "https://kilroyrealty.com/",
+        "https://www.yelp.com/biz/kilroy-realty-corporation-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Rexford Industrial",
+      "aliases": ["Rexford Industrial Realty", "REXR"],
+      "category": "Property Management Firms - Industrial",
+      "labj_rank": null,
+      "address": "11620 Wilshire Boulevard",
+      "suite": "Suite 1000",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90025",
+      "website": "https://www.rexfordindustrial.com",
+      "main_phone": "(310) 966-1680",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/rexford-industrial",
+      "specialties": ["Industrial Real Estate", "Property Management", "REIT Operations"],
+      "la_presence": "Headquarters in Los Angeles; operates regional offices in Orange County, Ventura County, Inland Empire, and San Diego County",
+      "key_metric": "35+ million square feet of industrial properties throughout Southern California",
+      "sources": [
+        "https://www.rexfordindustrial.com/",
+        "https://www.superpages.com/los-angeles-ca/bpp/rexford-industrial-3318289"
+      ]
+    },
+    {
+      "company_name": "Macerich",
+      "aliases": ["The Macerich Company", "MAC"],
+      "category": "Property Management Firms - Retail",
+      "labj_rank": null,
+      "address": "401 Wilshire Boulevard",
+      "suite": "Suite 700",
+      "city": "Santa Monica",
+      "state": "CA",
+      "zip": "90401",
+      "website": "https://www.macerich.com",
+      "main_phone": "(310) 394-6000",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/macerich",
+      "specialties": ["Retail Real Estate", "Shopping Centers", "Property Management", "Development", "Leasing"],
+      "la_presence": "Major retail properties in Los Angeles area including Los Cerritos Center (1M+ sq ft); 35+ premier retail destinations nationally",
+      "key_metric": "35+ premier retail destinations across top US markets",
+      "sources": [
+        "https://www.macerich.com/",
+        "https://www.yelp.com/biz/macerich-co-santa-monica"
+      ]
+    },
+    {
+      "company_name": "Greystar",
+      "aliases": ["Greystar Property Management"],
+      "category": "Property Management Firms",
+      "labj_rank": null,
+      "address": "",
+      "suite": "",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "",
+      "website": "https://www.greystar.com",
+      "main_phone": "(213) 340-2789",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/greystar",
+      "specialties": ["Multifamily Property Management", "Residential", "Apartments"],
+      "la_presence": "Manages properties in Los Angeles including 801 S Hope St location",
+      "key_metric": "495,000 units/beds across 1,800 communities worldwide",
+      "sources": [
+        "https://www.greystar.com/",
+        "https://www.yelp.com/biz/8th-hope-by-greystar-management-los-angeles"
+      ]
+    },
+    {
+      "company_name": "Lincoln Property Company",
+      "aliases": ["LPC", "Lincoln"],
+      "category": "Property Management Firms",
+      "labj_rank": null,
+      "address": "915 Wilshire Boulevard",
+      "suite": "Suite 2050",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90017",
+      "website": "https://lpc.com",
+      "main_phone": "(213) 538-0900",
+      "top_local_executive": "Stephen Lindgren",
+      "exec_title": "Senior Vice President and Market Leader, Los Angeles",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/lincoln-property-company",
+      "specialties": ["Property Management", "Leasing", "Facilities Management", "Development", "Investment Services"],
+      "la_presence": "Full-service office covering Los Angeles, Orange County, and San Diego markets",
+      "key_metric": "",
+      "sources": [
+        "https://lpc.com/office/los-angeles/",
+        "https://www.yelp.com/biz/lincoln-property-company-los-angeles-2"
+      ]
+    },
+    {
+      "company_name": "Avison Young",
+      "aliases": ["Avison Young US"],
+      "category": "Property Management Firms",
+      "labj_rank": null,
+      "address": "555 South Flower Street",
+      "suite": "Suite 3200",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90071",
+      "website": "https://www.avisonyoung.us",
+      "main_phone": "+1 213 935 7430",
+      "top_local_executive": "",
+      "exec_title": "",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/avison-young",
+      "specialties": ["Commercial Real Estate", "Property Management", "Facility Management", "Investment Services", "Accounting"],
+      "la_presence": "Multiple offices across Los Angeles (Downtown, North LA, West LA) serving Greater Los Angeles market",
+      "key_metric": "100+ offices in 20 countries; BOMABest and LEED-O+M certified",
+      "sources": [
+        "https://www.avisonyoung.us/web/los-angeles",
+        "https://www.loopnet.com/company/avison-young/los-angeles-ca/9sws1x6l/"
+      ]
+    },
+    {
+      "company_name": "Marcus & Millichap",
+      "aliases": ["Marcus and Millichap", "Marcus & Millichap Los Angeles"],
+      "category": "Property Management Firms",
+      "labj_rank": null,
+      "address": "1900 Avenue of the Stars",
+      "suite": "Suite 2000",
+      "city": "Los Angeles",
+      "state": "CA",
+      "zip": "90067",
+      "website": "https://www.marcusmillichap.com",
+      "main_phone": "(310) 909-5500",
+      "top_local_executive": "Tony Solomon",
+      "exec_title": "Senior Vice President and District Manager",
+      "marketing_pr_contact": "",
+      "marketing_pr_title": "",
+      "public_email": "",
+      "linkedin_company_url": "https://www.linkedin.com/company/marcus-&-millichap",
+      "specialties": ["Commercial Real Estate Investment", "Brokerage", "Capital Markets Financing", "Multi-Asset Sales"],
+      "la_presence": "Office with 180+ commercial real estate brokers and capital markets financing professionals",
+      "key_metric": "180+ brokers in Los Angeles office; Founded 1971",
+      "sources": [
+        "https://www.marcusmillichap.com/about-us/offices/losangeles-california",
+        "https://www.yelp.com/biz/marcus-and-millichap-los-angeles-2"
+      ]
+    }
+  ]
+}
diff --git a/data/seed.csv b/data/seed.csv
new file mode 100644
index 0000000..5ff99b2
--- /dev/null
+++ b/data/seed.csv
@@ -0,0 +1,16 @@
+labj_list,rank,company,address,city,state,zip,website,top_executive,title,phone,key_metric,source_url
+Commercial Real Estate Brokerage Firms,1,Newmark,"700 S. Flower St., Suite 2500",Los Angeles,CA,90017,https://www.nmrk.com,Nick DiPaolo,"Executive VP, Regional Managing Director, Southwest Market Leader",(213) 596-2222,"2024 LA deals value ($M): 13,912",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6899&q=%2Flalists%2F
+Commercial Real Estate Brokerage Firms,2,CBRE Group Inc.,"400 S. Hope St., 25th Floor",Los Angeles,CA,90071,https://www.cbre.com,Lewis Horne,"President, Greater LA, Orange County & Inland Empire",(213) 613-3333,"2024 LA deals value ($M): 13,172",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6899&q=%2Flalists%2F
+Commercial Real Estate Brokerage Firms,3,Cushman & Wakefield,"900 Wilshire Blvd., Suite 2400",Los Angeles,CA,90017,https://www.cushmanwakefield.com,Robert Thornburgh,Regional President,(213) 955-5100,"2024 LA deals value ($M): 11,200",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6899&q=%2Flalists%2F
+Commercial Real Estate Developers,1,Watson Land Co.,22010 Wilmington Ave.,Carson,CA,90745,https://www.watsonlandcompany.com,Jeffrey Jennison,"CEO, President",(310) 952-6400,"LA sq ft developed since 2015: 25,212,817",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=26236&q=%2Flalists%2F
+Commercial Real Estate Developers,2,Prologis,"17777 Center Court Dr. N., Suite 100",Cerritos,CA,90703,https://www.prologis.com,Megan Creecy-Herman,"President, Western U.S.",(562) 345-9200,"LA sq ft developed since 2015: 12,929,987",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=26236&q=%2Flalists%2F
+Commercial Real Estate Developers,3,Lincoln Property Company,"390 N. Pacific Coast Hwy., Suite 3100",El Segundo,CA,90245,https://www.lpc.com,Rob Kane,Senior Executive VP,(213) 538-0900,"LA sq ft developed since 2015: 12,710,082",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=26236&q=%2Flalists%2F
+Property Management Firms,1,Cushman & Wakefield,"900 Wilshire Blvd., Suite 2400",Los Angeles,CA,90017,https://www.cushmanwakefield.com,Karinna Cassidy,Executive Managing Director,(213) 955-5100,LA portfolio sq ft (M): 72.8,https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6888&q=%2Flalists%2F
+Property Management Firms,2,JLL,"2233 N. Ontario St., Suite 150",Burbank,CA,91504,https://www.jll.com,Charlie Smith,Senior Managing Director & Broker Lead,(818) 736-4440,LA portfolio sq ft (M): 50.2,https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6888&q=%2Flalists%2F
+Property Management Firms,3,Colliers,"865 S. Figueroa St., Suite 3500",Los Angeles,CA,90017,https://www.colliers.com,Kevin Rude,Regional Managing Director | West Region,(213) 532-3200,LA portfolio sq ft (M): 35.1,https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6888&q=%2Flalists%2F
+Banks,1,City National Bank,555 S. Flower St.,Los Angeles,CA,90071,https://www.cnb.com,Howard Hammond,President & CEO,(800) 773-7100,"2025 assets ($M): 94,207",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6842&q=%2Flalists%2F
+Banks,2,East West Bank,"135 N. Los Robles Ave., 7th Floor",Pasadena,CA,91101,https://www.eastwestbank.com,Dominic Ng,CEO & Chair,(626) 768-6000,"2025 assets ($M): 77,620",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6842&q=%2Flalists%2F
+Banks,3,Banc of California,"11611 San Vicente Blvd., Suite 500",Los Angeles,CA,90049,https://www.bancofcal.com,Jared M. Wolff,President & CEO,(310) 887-8500,"2025 assets ($M): 34,163",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6842&q=%2Flalists%2F
+Financial Institutions,1,JPMorgan Chase & Co.,2029 Century Park E.,Los Angeles,CA,90067,https://www.jpmorganchase.com,Jamie Dimon,"CEO, Chair",(310) 860-3658,"2025 assets ($B): 3,788.6; LA deposits ($B): 94.3",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6901&q=%2Flalists%2F
+Financial Institutions,2,Bank of America,333 S. Hope St.,Los Angeles,CA,90071,https://www.bankofamerica.com,Brian Moynihan,"CEO, Chair",(213) 621-3600,"2025 assets ($B): 2,665.6; LA deposits ($B): 84.9",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6901&q=%2Flalists%2F
+Financial Institutions,3,Citibank,5660 Wilshire Blvd.,Los Angeles,CA,90036,https://www.citibank.com,Jane Fraser,CEO,(323) 302-9530,"2025 assets ($B): 1,833.9; LA deposits ($B): 26.0",https://labusinessjournal.com/lalists/?djoPage=view_html&djoPid=6901&q=%2Flalists%2F
diff --git a/scripts/build.py b/scripts/build.py
new file mode 100644
index 0000000..11aea31
--- /dev/null
+++ b/scripts/build.py
@@ -0,0 +1,308 @@
+#!/usr/bin/env python3
+"""
+LABJ CRE + Banking public-source dataset builder.
+
+Combines the LABJ public seed (data/seed.csv) with independently-researched
+public company records (data/enriched/*.json) into a normalized, deduped,
+RENTV-advertiser-scored master dataset for the RE builds.
+
+Legal posture: LABJ "The Lists" are used ONLY as a discovery/ranking pointer.
+Every field is rebuilt from independent public sources with attribution. No
+LABJ paid product is reproduced. Fields are never fabricated — a missing value
+stays blank.
+
+Stdlib only (no pandas). Re-runnable & idempotent.
+"""
+import csv, json, glob, os, re, datetime
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+DATA = os.path.join(ROOT, "data")
+ENRICHED = os.path.join(DATA, "enriched")
+REPORTS = os.path.join(ROOT, "reports")
+TODAY = datetime.date.today().isoformat()
+
+# ---- category → canonical LABJ list name + RENTV relevance flags ----------
+# is_cre_core: brokerage/dev/pm/contractor/architecture = CRE core business
+# is_lender:   bank/financial/credit-union serving CRE
+CRE_CORE = {
+    "Commercial Real Estate Brokerage Firms",
+    "Commercial Real Estate Developers",
+    "Residential Real Estate Developers",
+    "Residential Brokerage Firms",
+    "Property Management Firms",
+    "Property Management Firms - Office",
+    "Property Management Firms - Retail",
+    "Property Management Firms - Industrial",
+    "General Contractors",
+    "Architecture Firms",
+}
+LENDER = {"Banks", "Financial Institutions", "Credit Unions",
+          "SBA 7(a) Lenders", "SBA 504 Lenders"}
+
+
+def norm_domain(url):
+    if not url:
+        return ""
+    u = url.strip().lower()
+    u = re.sub(r"^https?://", "", u)
+    u = re.sub(r"^www\.", "", u)
+    u = u.split("/")[0].split("?")[0]
+    return u.strip()
+
+
+def norm_name(name):
+    if not name:
+        return ""
+    n = name.lower().strip()
+    n = re.sub(r"[^a-z0-9]+", " ", n)
+    for suf in (" inc", " llc", " lp", " group", " co", " company", " corp"):
+        if n.endswith(suf):
+            n = n[: -len(suf)]
+    return n.strip()
+
+
+def load_seed():
+    rows = []
+    with open(os.path.join(DATA, "seed.csv"), newline="", encoding="utf-8") as f:
+        for r in csv.DictReader(f):
+            rows.append({
+                "company_name": r.get("company", "").strip(),
+                "aliases": "",
+                "category": r.get("labj_list", "").strip(),
+                "labj_rank": r.get("rank", "").strip(),
+                "address": r.get("address", "").strip(),
+                "city": r.get("city", "").strip(),
+                "state": r.get("state", "").strip(),
+                "zip": r.get("zip", "").strip(),
+                "website": r.get("website", "").strip(),
+                "main_phone": r.get("phone", "").strip(),
+                "top_local_executive": r.get("top_executive", "").strip(),
+                "exec_title": r.get("title", "").strip(),
+                "marketing_pr_contact": "",
+                "marketing_pr_title": "",
+                "public_email": "",
+                "linkedin_company_url": "",
+                "specialties": "",
+                "la_presence": "",
+                "key_metric": r.get("key_metric", "").strip(),
+                "source_labj": r.get("source_url", "").strip(),
+                "source_company": "",
+                "source_contact": "",
+                "last_verified": TODAY,
+                "_origin": "labj_seed",
+            })
+    return rows
+
+
+def load_enriched():
+    rows = []
+    if not os.path.isdir(ENRICHED):
+        return rows
+    for path in sorted(glob.glob(os.path.join(ENRICHED, "*.json"))):
+        try:
+            with open(path, encoding="utf-8") as f:
+                payload = json.load(f)
+        except Exception as e:
+            print(f"  ! skipping {os.path.basename(path)}: {e}")
+            continue
+        items = payload.get("companies", payload) if isinstance(payload, dict) else payload
+        for it in items:
+            srcs = it.get("sources") or []
+            if isinstance(srcs, list):
+                srcs = "; ".join(srcs)
+            rows.append({
+                "company_name": (it.get("company_name") or "").strip(),
+                "aliases": (it.get("aliases") or "").strip() if isinstance(it.get("aliases"), str) else "; ".join(it.get("aliases") or []),
+                "category": (it.get("category") or "").strip(),
+                "labj_rank": str(it.get("labj_rank") or "").strip(),
+                "address": (it.get("address") or "").strip(),
+                "city": (it.get("city") or "").strip(),
+                "state": (it.get("state") or "").strip(),
+                "zip": str(it.get("zip") or "").strip(),
+                "website": (it.get("website") or "").strip(),
+                "main_phone": (it.get("main_phone") or "").strip(),
+                "top_local_executive": (it.get("top_local_executive") or "").strip(),
+                "exec_title": (it.get("exec_title") or "").strip(),
+                "marketing_pr_contact": (it.get("marketing_pr_contact") or "").strip(),
+                "marketing_pr_title": (it.get("marketing_pr_title") or "").strip(),
+                "public_email": (it.get("public_email") or "").strip(),
+                "linkedin_company_url": (it.get("linkedin_company_url") or "").strip(),
+                "specialties": (it.get("specialties") or "").strip() if isinstance(it.get("specialties"), str) else "; ".join(it.get("specialties") or []),
+                "la_presence": (it.get("la_presence") or "").strip(),
+                "key_metric": (it.get("key_metric") or "").strip(),
+                "source_labj": (it.get("source_labj") or "").strip(),
+                "source_company": srcs,
+                "source_contact": (it.get("source_contact") or "").strip(),
+                "last_verified": TODAY,
+                "_origin": "researched",
+            })
+    return rows
+
+
+def merge(rows):
+    """Dedup by domain (fallback normalized name). Preserve multi-list membership."""
+    by_key = {}
+    memberships = []  # (company_key, category, rank, source)
+    for r in rows:
+        if not r["company_name"]:
+            continue
+        key = norm_domain(r["website"]) or norm_name(r["company_name"])
+        if r["category"]:
+            memberships.append((key, r["company_name"], r["category"], r["labj_rank"], r["source_labj"]))
+        if key not in by_key:
+            r = dict(r)
+            r["_key"] = key
+            r["_categories"] = set()
+            by_key[key] = r
+        cur = by_key[key]
+        cur["_categories"].add(r["category"]) if r["category"] else None
+        # fill blanks preferring first non-empty; researched can fill contact fields
+        for fld in ("address", "city", "state", "zip", "website", "main_phone",
+                    "top_local_executive", "exec_title", "marketing_pr_contact",
+                    "marketing_pr_title", "public_email", "linkedin_company_url",
+                    "specialties", "la_presence", "key_metric", "aliases",
+                    "source_company", "source_labj"):
+            if not cur.get(fld) and r.get(fld):
+                cur[fld] = r[fld]
+    return by_key, memberships
+
+
+def score(company):
+    cats = company["_categories"]
+    pts = 0
+    reasons = []
+    if any(c in CRE_CORE for c in cats):
+        pts += 25; reasons.append("CRE core business (+25)")
+    la = (company.get("state") == "CA") or ("los angeles" in (company.get("la_presence", "").lower())) \
+        or company.get("city", "") != ""
+    if la:
+        pts += 20; reasons.append("active LA presence (+20)")
+    if company.get("marketing_pr_contact") or company.get("public_email"):
+        pts += 15; reasons.append("marketing/PR contact identified (+15)")
+    if len([c for c in cats if c]) > 1:
+        pts += 15; reasons.append("multiple relevant lists (+15)")
+    if any(c in LENDER for c in cats):
+        pts += 10; reasons.append("lender/bank serving CRE (+10)")
+    if company.get("key_metric"):
+        pts += 10; reasons.append("major transaction/development footprint (+10)")
+    # advertising evidence: only credited when a researcher flagged it in la_presence/specialties
+    blob = (company.get("specialties", "") + " " + company.get("la_presence", "")).lower()
+    if any(k in blob for k in ("advertis", "sponsor")):
+        pts += 5; reasons.append("public advertising/sponsorship evidence (+5)")
+    return min(pts, 100), "; ".join(reasons)
+
+
+MASTER_COLS = ["company_name", "aliases", "categories", "labj_rank", "address",
+               "city", "state", "zip", "website", "main_phone",
+               "top_local_executive", "exec_title", "marketing_pr_contact",
+               "marketing_pr_title", "public_email", "linkedin_company_url",
+               "specialties", "la_presence", "key_metric",
+               "advertiser_fit_score", "advertiser_fit_reason",
+               "source_labj", "source_company", "origin", "last_verified"]
+
+
+def write_csv(path, cols, rows):
+    with open(path, "w", newline="", encoding="utf-8") as f:
+        w = csv.DictWriter(f, fieldnames=cols, extrasaction="ignore")
+        w.writeheader()
+        for r in rows:
+            w.writerow(r)
+
+
+def main():
+    os.makedirs(REPORTS, exist_ok=True)
+    seed = load_seed()
+    enriched = load_enriched()
+    all_rows = seed + enriched
+    by_key, memberships = merge(all_rows)
+
+    master = []
+    for key, c in by_key.items():
+        s, reason = score(c)
+        master.append({
+            **{k: c.get(k, "") for k in MASTER_COLS if k not in
+               ("categories", "advertiser_fit_score", "advertiser_fit_reason", "origin")},
+            "categories": " | ".join(sorted(x for x in c["_categories"] if x)),
+            "advertiser_fit_score": s,
+            "advertiser_fit_reason": reason,
+            "origin": c.get("_origin", ""),
+        })
+    master.sort(key=lambda r: (-r["advertiser_fit_score"], r["company_name"].lower()))
+
+    # 1. master
+    write_csv(os.path.join(DATA, "labj_master.csv"), MASTER_COLS, master)
+    # 2. companies (identity/firmographic subset)
+    comp_cols = ["company_name", "aliases", "website", "address", "city", "state",
+                 "zip", "main_phone", "specialties", "la_presence", "categories",
+                 "advertiser_fit_score", "source_company", "last_verified"]
+    write_csv(os.path.join(DATA, "labj_companies.csv"), comp_cols, master)
+    # 3. contacts (only rows with a real contact)
+    contact_cols = ["company_name", "website", "top_local_executive", "exec_title",
+                    "marketing_pr_contact", "marketing_pr_title", "public_email",
+                    "linkedin_company_url", "source_contact", "last_verified"]
+    contacts = [r for r in master if r.get("top_local_executive") or
+                r.get("marketing_pr_contact") or r.get("public_email")]
+    # pull contact-specific fields from merged records
+    contact_rows = []
+    for r in master:
+        c = by_key.get(norm_domain(r["website"]) or norm_name(r["company_name"]), {})
+        if r.get("top_local_executive") or c.get("marketing_pr_contact") or c.get("public_email"):
+            contact_rows.append({
+                "company_name": r["company_name"], "website": r["website"],
+                "top_local_executive": r.get("top_local_executive", ""),
+                "exec_title": r.get("exec_title", ""),
+                "marketing_pr_contact": c.get("marketing_pr_contact", ""),
+                "marketing_pr_title": c.get("marketing_pr_title", ""),
+                "public_email": c.get("public_email", ""),
+                "linkedin_company_url": c.get("linkedin_company_url", ""),
+                "source_contact": c.get("source_contact", ""),
+                "last_verified": TODAY,
+            })
+    write_csv(os.path.join(DATA, "labj_contacts.csv"), contact_cols, contact_rows)
+    # 4. list memberships
+    mem_cols = ["company_name", "category", "labj_rank", "source_labj"]
+    mem_rows = [{"company_name": m[1], "category": m[2], "labj_rank": m[3],
+                 "source_labj": m[4]} for m in memberships if m[2]]
+    write_csv(os.path.join(DATA, "labj_list_memberships.csv"), mem_cols, mem_rows)
+    # 5. research queue (records missing key fields)
+    rq_cols = ["company_name", "website", "missing_fields", "categories", "advertiser_fit_score"]
+    rq = []
+    for r in master:
+        missing = [f for f in ("website", "main_phone", "address",
+                               "top_local_executive", "marketing_pr_contact")
+                   if not r.get(f)]
+        if missing:
+            rq.append({"company_name": r["company_name"], "website": r["website"],
+                       "missing_fields": ", ".join(missing),
+                       "categories": r["categories"],
+                       "advertiser_fit_score": r["advertiser_fit_score"]})
+    write_csv(os.path.join(DATA, "research_queue.csv"), rq_cols, rq)
+    # 6. top 100 RENTV prospects
+    write_csv(os.path.join(REPORTS, "top_100_rentv_prospects.csv"), MASTER_COLS,
+              master[:100])
+    # 7. source audit
+    sa_cols = ["company_name", "source_labj", "source_company", "origin"]
+    write_csv(os.path.join(REPORTS, "source_audit.csv"), sa_cols,
+              [{"company_name": r["company_name"], "source_labj": r["source_labj"],
+                "source_company": r["source_company"], "origin": r["origin"]}
+               for r in master])
+
+    # summary
+    cats = {}
+    for r in master:
+        for c in r["categories"].split(" | "):
+            if c:
+                cats[c] = cats.get(c, 0) + 1
+    print(f"companies (deduped): {len(master)}")
+    print(f"contacts:            {len(contact_rows)}")
+    print(f"list memberships:    {len(mem_rows)}")
+    print(f"research queue:      {len(rq)}")
+    print(f"categories:          {len(cats)}")
+    print("top 10 RENTV prospects:")
+    for r in master[:10]:
+        print(f"  {r['advertiser_fit_score']:3d}  {r['company_name']}  [{r['categories']}]")
+    return master, cats
+
+
+if __name__ == "__main__":
+    main()

(oldest)  ·  back to Labj Cre Banks  ·  LABJ CRE+banking public-source dataset: pipeline + 68 resear 6a8d8f6 →