Inspiration

Grundfos reps spend weeks cold-calling building owners without knowing which rooftops are actually worth pursuing for rainwater harvesting.

We wanted to remove that guesswork and replace it with a map that shows exactly where the opportunity is, building by building.


What it does

Terrasight is a map-based prospecting tool that surfaces commercial buildings across the US that are strong candidates for rainwater harvesting.

Each building gets a 0–100 viability score based on:

  • roof area (satellite data)
  • cooling tower presence
  • local rainfall
  • water costs

Reps can:

  • zoom into any region
  • see ranked prospects with estimated savings and breakeven
  • inspect buildings via Street View
  • export leads to CSV

What used to take weeks now takes minutes.


How we built it

Frontend

  • React + TypeScript
  • MapLibre GL JS (dark, light, satellite modes)
  • Zustand (state management)
  • TanStack Query (data fetching)

Backend

  • FastAPI + PostGIS
  • Preprocessed building data
  • YOLO-based CV pipeline to detect cooling towers and rooftop equipment

Data

  • Building footprints: OpenStreetMap
  • Rainfall: Open-Meteo
  • Water rates: state datasets
  • Financials: EPA benchmarks (15–25 gal/sqft/year) + industry cost models

Challenges

  • Geospatial accuracy A centroid-based approach placed a Texas building in Oklahoma. Fixed using ray-casting with state boundary GeoJSON.

  • Financial model issues Early formulas canceled out roof area, giving identical ~16.5-year breakeven for every building. Reworked to include cooling demand, water pricing, and install costs.

  • Map rendering Handling nested GeoJSON without duplicate source conflicts in MapLibre required careful layer management.


What worked

  • End-to-end flow: national view to building-level insights with Street View and financials in under 30 seconds
  • CV-detected cooling towers and roof polygons rendered directly on the map
  • Financial outputs vary meaningfully across buildings

What we learned

  • Preprocessing is critical for CV-heavy applications
  • Small formula errors scale fast across large datasets
  • MapLibre is powerful, but source and layer management needs discipline

What’s next

  • Expand coverage to the full US
  • Add ESG signals (SEC EDGAR, SBTi)
  • Integrate with Salesforce and HubSpot
  • Include rebates and stormwater offsets in ROI
  • Build a mobile-friendly experience for field reps

Built With

Share this project:

Updates