AGM Report Studio
A week of manual reporting, turned into a five-step pipeline.
- Role
- Marketing Strategy & Technology Lead
- Timeframe
- 2025
- Stack
- React · Python/ReportLab (FastAPI) · Cloudflare Worker + D1 + R2 · Anthropic Claude
- Headline metric
- Scales toward 200 reports/month; ~$250K annual time saved
The problem
Monthly owner reports were hand-assembled from AppFolio exports — hours per property, error-prone, and inconsistent in branding. Scaling that to the full portfolio by hand simply wasn't possible.
The approach
A guided 5-step workflow: Upload → Process → QC → Review → Export. It parses AppFolio workbooks, then runs a 5-step data-integrity verification that flags anomalies — stale dates, negative rents, NOI sign errors — rather than silently "fixing" them. Claude generates an executive narrative grounded in the parsed financials, and the system renders a branded, print-ready PDF. The design choice that matters: the tool surfaces problems for a human to judge instead of papering over them.
How it's built
React + Vite front end; a Python/ReportLab PDF engine on Render (FastAPI); a Cloudflare Worker as a secret proxy, plus D1 (config/history) and R2 (PDFs/signatures). Separate multifamily and commercial engines handle the different report shapes. Roughly 12K lines of front-end code and 4K of Python.
The outcome
Manual PDF assembly is gone. The pipeline is built to scale toward ~200 reports a month with consistent AGM branding, and QC catches financial errors before an owner ever sees them.