Full-stack listing site built to generate and qualify inbound leads for a 17,073 sqm institutional-grade warehouse on Manila's C5 corridor
I designed and built a commercial real-estate listing site for a family-owned logistics asset in Pasig City, Metro Manila. The site handles the full inbound pipeline: presenting the property to institutional tenants and brokers, capturing qualified inquiries via a structured form, and piping every lead into a live Google Sheet with instant email alerts — no third-party CRM required.
The brief
A 17,073 sqm former Fortune 500 (Iron Mountain) warehouse in Pasig City had been vacant since January 2026, accumulating daily holding costs. The asset is institutional-grade — NFPA 13 fire suppression, GPS seismic early warning, dual-layer security perimeter, full as-built MEPF plans — but the leasing effort was broker-only with no owned digital presence. The brief was to build a listing site that could function as the single shareable link across broker emails, LinkedIn outreach, and WhatsApp — one that qualified leads before they made contact and captured every inquiry automatically.
What I built
A single-page listing site with a full inbound pipeline baked in:
- Hero section with live “available” badge, key stats (area, rate, availability date), and two CTAs (schedule viewing / WhatsApp direct)
- Specs and features — property dimensions, racking value proposition (12,300 SQM pre-installed, 10+ rows across 3 zones, “4–6 months saved vs. new procurement”), infrastructure specs, two-tier pricing (racking-ready vs. bare shell), and location distances to CBD, airport, and port
- Photo gallery with lightbox — sourced from on-site photography (21 listing photos plus site plan, gate, racking, yard)
- Embedded Google Maps with annotated distance list
- Structured inquiry form — captures name, company, email, phone, inquirer type (tenant / broker / 3PL / investor), space required (partial / half / full), and a freeform message field
- Floating chatbot widget — handles pre-sale FAQ inline, logs every interaction as an analytics event
- Google Apps Script backend — a deployed web app (no server, no database) that receives form submissions and page view pings, writes structured rows to a Google Sheet (“Leads” tab with 13 columns + “Analytics” tab), and fires an instant email notification with full lead detail to the property representative
Schema.org RealEstateListing + Warehouse JSON-LD was embedded for AI/LLM discoverability, along with full Open Graph and Twitter Card meta for social sharing.
How it’s built
The entire backend is a single Google Apps Script file (apps-script.js) deployed as a public web app. It handles three POST event types — lead, pageview, and chatbot — plus a GET stats endpoint. Lead submissions auto-create the Leads sheet if it does not exist (with frozen header row, column widths, and formatting), append the structured row, and trigger a plaintext email notification with replyTo set to the lead’s address. Page view pings hit a pixel-style GET endpoint and write to a separate Analytics sheet. A ?action=stats GET returns a JSON summary of total leads, views, and chatbot interactions for a lightweight dashboard.
The frontend is plain HTML/CSS/JS — no build step, no framework, no CDN dependencies beyond Google Fonts — which means it can be deployed to any static host (Cloudflare Pages, Vercel, GitHub Pages, or even dropped on a shared host) without configuration.
Why it matters
Commercial real-estate listing in the Philippines is still predominantly broker-to-broker. Institutional tenants and 3PLs researching space on their own hit low-quality aggregator listings or dead PDFs. A purpose-built listing page with proper schema markup, a photo gallery, and a structured inquiry form puts the asset in a different category — it signals the seriousness of the owner and gives brokers a link they are proud to forward. The Apps Script backend means zero monthly SaaS cost and zero CRM onboarding: every lead lands in a Google Sheet the owner already knows how to use, with an email alert that fires in seconds.
Want something like this?
That's the kind of thing I build. Tell me about yours.