[object Object]

← back to Homesonspec

recon: classify 8 regional builders' plain-fetch inventory feasibility

8550e53d825cda7eaa9f744ff70a8a57aff0f3f6 · 2026-07-27 21:38:11 -0700 · Steve Abrams

Evidence-backed pass over registered 'adapter pending' regionals. Findings
mirrored into SourceRegistry.notes. Highland Homes is the best next adapter
(open robots + large inventory; needs one browser-trace of its AJAX endpoint).
Most regionals render inventory client-side — plain-fetch adapters are the
exception; SPA/XHR builders share one next-step (capture the inventory XHR).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 8550e53d825cda7eaa9f744ff70a8a57aff0f3f6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Jul 27 21:38:11 2026 -0700

    recon: classify 8 regional builders' plain-fetch inventory feasibility
    
    Evidence-backed pass over registered 'adapter pending' regionals. Findings
    mirrored into SourceRegistry.notes. Highland Homes is the best next adapter
    (open robots + large inventory; needs one browser-trace of its AJAX endpoint).
    Most regionals render inventory client-side — plain-fetch adapters are the
    exception; SPA/XHR builders share one next-step (capture the inventory XHR).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 collectors/BUILDERS.md | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/collectors/BUILDERS.md b/collectors/BUILDERS.md
index d13de01..f7aabd7 100644
--- a/collectors/BUILDERS.md
+++ b/collectors/BUILDERS.md
@@ -43,3 +43,27 @@ Each carries a per-community sales phone. Adapters are CA-scoped via an env var.
 - Register each in `apps/workers/src/cli.ts` ADAPTERS + add workspace dep in `apps/workers/package.json`.
 - SourceRegistry rows exist for all (inactive). To ingest: activate + set collectionMethod=CRAWL, deploy adapters to Kamatera, run `pnpm --filter @homesonspec/workers pipeline -- --adapter=<key>` with the state env.
 - Pulte/Meritage give lat/lon → homes appear on the map. KB/DR-Horton/TriPointe/TaylorMorrison lack per-home geo in v1 (search/lists only) — geocoding is a follow-up.
+
+---
+
+# Regional-builder feasibility recon — 2026-07-27 (plain-fetch pass)
+
+Probed 8 registered "adapter pending" regional builders for **plain-curl, facts-only** inventory
+feasibility (respecting robots; no bot-wall circumvention). Finding: modern regional builders
+overwhelmingly render per-home inventory **client-side (XHR)**, so plain-fetch adapters like
+Discovery/Pulte are the exception, not the rule. Classifications written to `SourceRegistry.notes`.
+
+| Builder | key | verdict | evidence |
+|---|---|---|---|
+| **Highland Homes** | highland-homes-site | **XHR-TRACE — best next** | Fully-open robots (no disallows) + rich sitemap (`/{metro}/{city}/{community}/homesites`, `/quick-move-in/{metro}`). jQuery + svg-pan-zoom site plan; facts load via AJAX (no facts/JSON-LD/`__NEXT_DATA__` in server HTML). Large TX/AZ/CO inventory. **Next: browser-trace the homesites/QMI AJAX endpoint → Pulte-style JSON-API adapter.** |
+| Signature Homes | signature-homes-site | FEED-EXISTS-BUT-THIN | WordPress; permitted WP REST CPT `/wp/v2/move-in-home` (X-WP-Total=4). ACF facts NOT `show_in_rest`; move-in-home page HTML carries no price/beds/sqft (image-baked). Only breadcrumb JSON-LD community name + homesite label extractable. Revisit if catalog grows or ACF is REST-exposed. |
+| Van Daele | van-daele-homes-site | SPA | WordPress, open robots, `/{region}-available-homes/` pages JS-hydrated (inline `$` values are filter dropdowns, not listings). Next: trace available-homes XHR / admin-ajax action. |
+| SummerHill | summerhill-homes-site | SPA | AngularJS (`ng-app="app"`, `HomesNowReadyCtrl`); `/quick-move-in` facts client-side. Next: trace QMI XHR. |
+| DeNova | denova-homes-site | ROBOTS-LIMITED | Per-lot inventory hydrates from robots-DISALLOWED `/*sitesearch.json*`; community pages are server-rendered but show only plan RANGES. Per-home OFF-LIMITS w/o permission → partner-feed outreach. Community-level metadata OK. |
+| Landsea | landsea-homes-site | BOT-WALL | Cloudflare bot challenge (redirects → risewellhomes.com "Sorry you have been blocked"). Datacenter egress blocked — NOT circumvented. Needs allowlisted egress or partner feed. |
+| Fulton | fulton-homes-site | thin/defer | 93KB homepage, no inventory-feed markers on landing; likely SPA/XHR. Defer behind Highland. |
+
+**Buildable-now shortlist (plain-fetch):** none in this batch. **Best ROI next:** Highland Homes
+(clean robots + big inventory) via a browser-trace of its AJAX endpoint — the same proven next-step
+as Meritage. SPA/XHR builders (Highland, SummerHill, Van Daele) all converge on the same tool:
+capture the inventory XHR once (Playwright/Browserbase), then a JSON-API adapter.

← 444eee6 collectors: add Discovery Homes adapter (first regional; See  ·  back to Homesonspec  ·  collectors: add David Weekley adapter (national; server-rend eacead2 →