← Back to projects GIS Engineering

City of Memphis Facility Condition Assessment Reporting System

Self service platform that generates city standard PDF facility reports directly from an ArcGIS map, replacing a manual reporting workflow

RoleFull Stack GIS Developer, Allworld Project Management
TimelineNovember 2025
City of Memphis Facility Condition Assessment Reporting System
PythonDjangoReportLabpandaspypdfArcGIS EnterpriseArcGIS Python APIArcGIS Experience BuilderOAuth 2.0REST APIsIISJavaScript

Overview

A full stack reporting platform that lets City of Memphis staff generate professional PDF facility reports directly from an ArcGIS map. It replaced a slow manual reporting workflow with a self service web system that produces eight city standard report types from live GIS feature services, embedded inside the map interface staff already use.

The Problem

A full stack reporting platform that lets City of Memphis staff generate professional PDF facility reports directly from an ArcGIS map. It replaced a slow manual reporting workflow with a self service web system that produces eight city standard report types from live GIS feature services, embedded inside the map interface staff already use.

Architecture & Key Work

  • ▹Designed and built a full stack automated PDF reporting system integrating ArcGIS Enterprise Portal, Django, and ReportLab, deployed on IIS, generating eight distinct report types from live GIS feature services
  • ▹Engineered eight pixel accurate PDF templates covering Facility Condition Assessment, GSAM Facility, Life Cycle, Deficiency Summary, Data Table, Statistics, GSAM FCA Records, and Council District, matching city mandated formats
  • ▹Built photo embedded reports that fetch inspection images from the portal through authenticated REST calls
  • ▹Implemented OAuth 2.0 authentication against ArcGIS Portal, giving users single sign on with their existing GIS credentials and automatically revoking report access when portal access is removed
  • ▹Developed a browser embedded Experience Builder widget in vanilla JavaScript with full Content Security Policy compliance, letting staff generate and download reports without leaving the map
  • ▹Built a URL based deep link system enabling one click PDF generation of individual facility or assessment records directly from map popups and related records tables
  • ▹Created a dynamic filtering and user configurable sorting engine across facility type, council district, priority, fiscal year, and date range, applied server side with pandas
  • ▹Solved a multi page rendering challenge by building each record as a standalone document and merging with pypdf, eliminating layout overflow across reports with variable height photo content

Results & Impact

  • ✓Replaced a manual reporting workflow with a self service platform embedded directly in the ArcGIS map interface
  • ✓Cut report generation from more than thirty seconds to under five seconds on a warm cache using an in memory caching layer with a ten minute time to live
  • ✓Gave city staff one click PDF generation for individual facility and assessment records straight from map popups
  • ✓Delivered eight city standard report types from live GIS data with secure access tied to existing portal credentials