This dashboard connects to a live FastAPI service hosted on Azure. It serves a database of synthetic insurance claims that have been processed and risk-scored through a Python ETL pipeline.
Note: To prevent client-side Out-Of-Memory (OOM) errors, this feed implements strict server-side pagination (offset/limit) with infinite scrolling.
Fetching next 50 records...
System Architecture
The Problem
Raw, unstructured data dumps are difficult to query and nearly impossible to triage manually. Attempting to load or visualize 100,000+ unindexed rows directly often causes standard BI tools and web clients to crash.
1. ETL Pipeline (Pandas)
To structure the data, a Python ETL script uses Pandas to ingest the raw CSV, drop malformed records, and apply business logic (flagging claims over $50,000 for review). This sanitized dataset is then committed to a read-optimized SQLite database.
2. API Layer (FastAPI on Azure)
The backend is built with FastAPI and deployed to a Microsoft Azure App Service (Linux) container. It uses an ASGI web server (Uvicorn) to handle asynchronous database reads and aggregations quickly.
3. Defensive Frontend Design
The UI implements a few defensive patterns to protect server and client resources:
Execution Gating: The UI initializes in "Standby". Users must explicitly click "Run Query" to fetch data, preventing unnecessary database hits on accidental page loads.
Server-Side Pagination: The infinite scroll UI passes `OFFSET` and `LIMIT` parameters to the API, fetching data in 50-record chunks rather than requesting the entire database at once.
CSV Export: Since web UIs aren't ideal for deep analysis, a simple export function allows analysts to pull the current filtered view for use in Excel or Python notebooks.