Writing
Portfolio Projects28 April 2026

Automated Departmental Report Generator

A Flask app that scrapes external data sources and composes structured reports with AI-assisted insight generation.

Automated Departmental Report Generator

A Python Flask application that automates the tedious process of pulling together departmental reports from multiple data sources.

Problem

Report compilation was manual: someone would spend hours pulling data from various web dashboards, copy-pasting into a template, then writing a summary. This project cuts that to minutes.

How It Works

  1. Scraping — BeautifulSoup spiders pull structured data from internal and external web sources

  2. Assembly — Collected data is normalised and inserted into a report template

  3. AI insights — The AI API analyses the data and suggests key takeaways for the reader

  4. Output — A structured PDF or HTML report is generated and available for download

Tech Stack

  • Python + Flask for the web app

  • BeautifulSoup for scraping

  • Jinja2 for report templating

  • AI API (GPT family) for insight generation

  • WeasyPrint for PDF export

Edge Cases That Bit Me

Web scraping breaks whenever the source site updates its layout. I ended up building a monitoring system that alerts when a scraper returns an unexpected result count, which catches layout changes before they silently corrupt reports.

Source: GitHub