Dinesh Jinjala

06A multi-tenant Pharma Manufacturing Analytics SaaS

Automated Report Platform

Lead developer

I led the platform for regulated quality reports. Every report draws its content from one governed data layer, so reports stay current and refresh when their data changes. Queries are checked as read-only, and each data object is e-signed before anyone can use it. Finished reports export as controlled PDF documents.

1 data layer
every report draws from it
Auto-refresh
reports update when source data changes
E-signed
every data object, before it is published

Python / FastAPI / PostgreSQL / LaTeX

Problem

Regulated quality reports pull live data from many sources and must export as fixed, version-controlled documents. Copying data into each report made reports hard to keep current, and letting authors run arbitrary queries in a GxP system was a risk.

Approach

  • I led the platform and built its governed data layer: every table, figure or text block in a report comes from a reusable, approved data object.
  • Queries are validated as read-only against approved data before they can be saved.
  • A data object is published only after it is tested and e-signed.
  • I designed bulk and automatic refresh, so reports update on demand or when the underlying data changes.
  • I created the document engine service that exports reports as paginated, print-ready PDFs, with progress shown live.

Architecture

  1. Data sources
  2. Query validation
  3. Governed data objects
  4. Report sections
  5. Document engine
  6. PDF

Outcome

Report content lives in one governed layer instead of being copied into each document, so reports stay current without manual edits. Unsafe SQL is rejected at validation and cannot be published.

What I learnedPut the rules in the data layer and every report inherits them.

Building something like this?

Tell me about it