Why this tool exists.
Traditional onsite DD on a 400-lot portfolio is a clipboard-and-camera exercise that produces a notebook of observations. What gets photographed stays on someone's phone. What gets written never makes it to the financial model. A week later, the team is trying to reconstruct it.
The Sunset Vista Estates hub replaces that with a structured, mobile-first command center that captures inspector observations, photographs, and CapEx estimates in real time. Every data point flows directly into a shared Google Sheet and Google Drive, so legal, lending, and asset management teams are looking at the same source of truth while the walk is happening.
Sunset Vista Estates — three properties, one deal.
A CMBS-assumption portfolio of three manufactured housing communities in Pueblo, Colorado. Seller is Saddleback Pro Properties. Each property has its own tracker with property-specific data, but the hub landing page rolls everything up.
The onsite workflow.
Each inspector opens the property tracker on their phone at the start of the walk. Every tracker is mobile-first, offline-capable, and auto-syncs to Google Sheets whenever connectivity returns.
Five steps per walk
- Setup (30 sec). Inspector enters their name and picks the property. Already cached from prior session.
- Dashboard pass. Review portfolio KPIs, known issues, outstanding items, CMBS assumption facts.
- Checklist walk. Sticky top bar shows progress %, running CapEx, and a Next button that jumps to the first unrated item. Camera-first on every item.
- Lot-level audits. POH, TOH, and Community Building inspections with component-level scoring.
- Sync. PUSH button at the top pushes the whole payload to Google Sheets. Photos go to
Onsite DD Photos / [Property] / [Category] /in the data-room Drive.
What we actually rate.
Roughly 100 items across 15 categories. Every item is scoped to be observable onsite — desk-research items (financial reconciliation, title review, zoning compliance letters) live in separate tools.
Category structure
- Management & Office — staff, records, systems.
- Curb Appeal & First Impressions — entrance, fencing, trees, landscaping.
- Roads & Paving — surface, drainage, lighting, signage, ADA.
- Water System — source, mains, meters, RUBS readiness.
- Sewer System — type, lift stations, capacity.
- Electrical System — service, meters, panels, transformers.
- Gas System — type, lines, leak detection.
- Amenities & Common Areas — pool, playground, mailbox, laundry.
- Safety & Compliance — extinguishers, addressing, stormwater, fire mitigation.
- Pest & Infestation — termite, rodent, mold, history.
- Tools & Personal Property — equipment included in the sale.
- Market & Location — comps, adjacent use, connectivity.
- TOH / POH / Community Buildings — aggregated from lot-level audits.
Four states, clear meaning.
Every rateable item surfaces a consistent set of options. Colors and left-border accents communicate state without the inspector having to read every label.
Tap once to rate, tap the same option again to clear. On multi-select items (fencing, pest history, signage), tap multiple options to capture simultaneous conditions.
Scoring
Each option carries a 0–4 score. Category scores are weighted averages. Portfolio grade is a weighted roll-up. The scoring drives the Triage view and automatically flags categories falling below thresholds on the Dashboard.
How we price what we see.
CapEx on every rating option is a defensible estimate tied to park size. The app auto-scales the cost based on lot count so a 200-lot park's infrastructure CapEx reflects reality versus a 30-lot park.
Park Scale Factor
parkScaleFactor(lots, acres) = min(4.0, max(0.3, (lots / 50) × densityModifier))
// Density modifier adjusts for sparse vs dense parks
densityModifier = sqrt(min(density, 10) / 5)
// Applied to any item flagged scalable:true
finalCapex = baseCapex × parkScaleFactor × regionalCostMultiplier
Items that naturally scale with park size carry the scalable flag — mailboxes, perimeter fencing, street lighting, water main replacement, sewer main work, pest remediation, stormwater retention, fire mitigation, sidewalks, and landscaping. Fixed-scope items (pool, playground, single transformer) don't scale.
Roads — percentage allocation
Roads use a sqft-based model. Inspector allocates what percentage of roads are Good / Seal Coat / Mill & Overlay / Full Repave. Per-sqft costs for each condition multiply by allocated area to produce a weighted total. Road area auto-estimates from lot count × acres, overridable.
Identifying the upside, not just the repairs.
Traditional DD checklists only measure what's broken. The Recommend pattern adds a fourth state that captures what's missing — features a park could profitably add post-acquisition.
Current Recommend options
- Pool · Recommend Adding ($80K baseline)
- Playground · Recommend Adding ($35K)
- Dog Park · Recommend Adding ($12K)
- Entrance Signage · Recommend Pro Upgrade ($15K)
- Street Lighting · Recommend LED Conversion ($20K, scales)
- Sub-meter / RUBS · Recommend Install — Value-Add ($80K)
- Storm Shelter · Recommend Adding ($40K)
- Package Delivery · Recommend Parcel Lockers ($12K)
These roll into total CapEx the same way repair CapEx does, but are visually distinguished in the tier cards so the team can separate mandatory remediation from discretionary value-add during the investment committee review.
The pipeline, plainly.
Each property tracker is a single-file HTML app with local-first state management. No backend server. A Google Apps Script acts as the sync endpoint to the shared Google Sheet and Drive folder.
What lives where
- Property trackers · Browser, localStorage, PWA-installable.
- Google Sheet · Structured data — Config, Checklist, Lots, Flags, Photos, ActivityLog tabs.
- Google Drive · Photo storage at
Onsite DD Photos / [Property] / [Category] /. Shareable links back to the tracker. - Apps Script webhook · Single endpoint handling fullSync, update, append, and uploadPhoto actions.
Reliability
- Offline-first. App saves every action to localStorage. Works with zero connectivity.
- Refresh-restore. Browser reload returns to the exact view and scroll position.
- Multi-user. Several inspectors can be in different properties simultaneously. Pull-from-sheet merges.
- Retry backoff. Photo uploads retry 3× with exponential backoff. Failed uploads queue for the next PUSH.
- Geotag. Every photo captures GPS coordinates when the browser permits.
What comes out of a walk.
Every artifact the team needs post-walk is generated from the data already captured — no re-entry, no "let me find that photo."
- Severity Triage view. Every critical item and scrap-flagged lot sorted by CapEx impact with photo thumbnails. The Thursday-evening deliverable.
- Portfolio CapEx rollup. Infrastructure vs POH CapEx split, per property and portfolio-wide, on the hub landing page.
- Red-flag list. Live red count on the sticky progress strip; one-tap to the triage view.
- Google Sheets export. Underwriting model reads directly from the Checklist tab.
- Drive photo archive. Organized by property and category, lender-ready.