Business software and compliance Case study

RoofReveal: roof measurement and reporting platform

A web app that finds a roof from an address, shows detected roofs on a satellite map and sells tiered reports, with a Python service using Google Solar API data and Gemini roof-photo analysis.

RoofReveal home screen design with three report tiers: Canvassing, Explorer and Xactimate, each over an aerial photo of roofs
Client
RoofReveal
Service
Web apps, AI, Integrations
Years
2024
Stack
Google Cloud Run, Gemini, FastAPI, Python and 14 more
Platforms
Web

Overview

RoofReveal targets roofers, insurers, solar and utility companies that need roof measurements without a site visit. A user searches an address, confirms the property on a satellite map, draws an area, and the product highlights the roofs inside it and builds a report. There are three report tiers, Canvassing, Explorer and an Xactimate-style estimate, bought with credits on a subscription. We designed the product, built the web app and its admin panel, and worked on the Python service that turns Google satellite and elevation data and roof photos into measurements, outlines and condition details.

The challenge

Raw satellite elevation data and aerial imagery are not usable as they are. They had to become roof measurements, outlines and condition information, and then be packaged as reports that a customer can buy.

What we built

  1. The full product design in Figma: marketing site, logged-in home with the three report tiers, the canvassing flow, report previews, subscription and checkout, profile and help screens
  2. The customer web app front end: address search and map, report pages, profile screens, subscription and purchase lists
  3. Ridge length calculation and images inside the reports
  4. Subscriptions with Stripe, including a list of annual plans
  5. An admin panel with data tables and profile management
  6. A Supabase database for the product
  7. Google Maps Platform and Google Solar API integration, and report rendering with Puppeteer and Chromium
  8. A Python (FastAPI) prototype service: building solar data by coordinates, a pipeline that turns the elevation layer into roof outlines saved as GeoJSON, and roof photo analysis with Gemini that returns shingle type, colour, approximate age and damage
  9. Docker packaging and Cloud Run deployment notes for the service

How a system like this fits together

Reference architecture: roof measurement and reporting platform

Simplified reference architecture, not a client schematic.

Reference architecture: roof measurement and reporting platformZones: clients (customer web app and admin panel), the roof analysis API, third-party services (Google Solar API, Vertex AI Gemini, Google Maps Platform, Stripe) and the Supabase database. Full description in the numbered list below the diagram.ClientsApplicationDataThird-party servicesroof dataread / writesolar data, photo analysismap and paymentsAdmin panelStaff screensWeb appSearch, map,reports, plansRoof analysis APIFastAPI on Python,Docker on Cloud RunSupabaseApp databaseGoogle Solar APIRoof segments andelevation layersVertex AI (Gemini)Roof photo analysisGoogle Maps PlatformSatellite map, address searchStripeSubscriptionsReference architecture: roof measurement and reporting platformZones: clients (customer web app and admin panel), the roof analysis API, third-party services (Google Solar API, Vertex AI Gemini, Google Maps Platform, Stripe) and the Supabase database. Full description in the numbered list below the diagram.ClientsApplicationThird-party servicesDataCalled by the APICalled by the web approof datasolar data, photo AImap and paymentsread / writeAdmin panelStaff screensWeb appSearch, map, reportsRoof analysis APIFastAPI, Docker, Cloud RunGoogle Solar APIVertex AI (Gemini)Google Maps PlatformStripeSupabaseApp database
A web app takes an address, a Python service turns satellite and photo data into roof measurements, and reports are sold on a subscription.
  1. A user searches for an address in the web app and confirms the property on a Google Maps Platform satellite map.
  2. The web app asks the roof analysis API (FastAPI on Python, a Docker container for Cloud Run) for roof data.
  3. The API reads building and elevation data from the Google Solar API and turns the elevation layer into roof outlines; roof photos are analysed by Gemini on Vertex AI for shingle type, colour, age and damage.
  4. Accounts, plans and purchases are stored in a Supabase database that the web app and the admin panel read and write.
  5. Report subscriptions are paid through Stripe.

Technology used

Technology named in the project records, by layer
LayerChoicePurpose
ServiceFastAPI on Python, Docker, Cloud Runroof analysis endpoints
PaymentsStripereport subscriptions
Maps and solar dataGoogle Maps Platform, Google Solar APIsatellite map, roof segments and elevation
DesignFigmamarketing site, app and report screens
Web appWeb front end, TanStack Tablecustomer app and admin panel
Geospatialrasterio, Shapely, GeoPandas, scikit-imageelevation layer to roof outlines
AIVertex AI Geminiroof type, colour, age and damage from a photo
DataSupabaseaccounts, plans and purchases
ReportsPuppeteer, Chromiumreport rendering

What happened next

  • Delivered

    The work described above was delivered to the client.

  • Operational facts
    • Our work on this project took place in 2024.

Screens

Could this be your project?

Request similar work

Questions about this project

How long did this project take?

Our work on it took place in 2024.

What technology was used?

Google Cloud Run, Gemini, FastAPI, Python, Stripe, Docker, Google Maps Platform, Supabase, Google Solar API, Vertex AI, Puppeteer, Chromium, TanStack Table, Figma, rasterio, Shapely, GeoPandas, scikit-image.

Similar work

AXENCIS: brand protection case management platform screenshot

Also Python, same industry

AXENCIS: brand protection case management platform

  • Business software and compliance
  • Web apps
  • Integrations

2024–2026

xcore, AXENCIS's Laravel and Vue platform for tracking online marketplace listings through investigation to legal case, with browser extensions, evidence capture and accounting for clients and law firms.

Mammoth Self Storage: AI storage calculator and chatbot screenshot

Also Google Cloud, same industry

Mammoth Self Storage: AI storage calculator and chatbot

  • Business software and compliance
  • AI
  • Web apps
  • Integrations

2025–2026

A chatbot for Mammoth Self Storage that estimates how much storage a customer needs from a photo or video, lists the items and their volume, finds the nearest site, quotes available units and hands off to booking.

QCare: quality, compliance and risk evaluation. Modules: OE certification and compliance, programme tracking and workflow, training and people management, quality field tool, facility and asset management, holistic network management. DEKRA.

Also Google Cloud, same industry

QCare: compliance platform for DEKRA

  • Business software and compliance
  • Operations and facility management
  • Web apps
  • Integrations

2024–2026

QCare, DEKRA's quality, compliance and risk evaluation platform on the Collabtic service platform: certification and compliance tracking, organisations, training, shop certification and headquarters dashboards, on an Angular front end and a PHP API.

Building something similar?

Tell us what you need and your industry. We will tell you what is realistic, what it would take, and show you the closest work we have done.

Are you ready to partner with us?

Our good-natured team is waiting to hear your business requirements.

Book a free project call