aditya.
HomeServicesIndustriesCase StudiesAboutBlog+91 93732 38164
Discuss Project
© 2026 Aditya Patil
Built with Next.js
WhatsAppCall Aditya
Back to work
ProductionSeptember 1, 2025

Reporting Automation Pipeline for a 33-Plant Renewable Operator

Replaced a 4-hour daily manual Excel workflow with an automated pipeline that produces 30+ reports every morning without human touch.

Node.jsPostgreSQLDockerCronAsync Workers

The business problem

The operations team at a large renewable asset operator was spending the first three hours of every morning on the same task. Two senior engineers logged in at 6 AM. They opened dozens of vendor portals across 33 solar, wind, and BESS plants, downloaded the daily generation data, and pasted it into a master workbook. By 11:30 AM, someone would notice a formula had broken because a vendor changed a column name. Management got yesterday's numbers at lunch instead of at 8 AM.

Compliance filings ran late. Executive decisions were made on stale numbers. Every leave day for the person who understood the Excel macros put the whole morning routine at risk.

What was happening before

  • Two senior engineers arriving at 6 AM every day.
  • 30+ spreadsheets pasted, cross-checked, and reformatted by hand.
  • No audit trail. If a number was wrong, nobody could point to why.
  • One key person nobody could afford to lose.
  • Reports landing at noon instead of 8 AM.

What I built

A daily reporting pipeline that runs without a human in the loop.

The system connects directly to each plant's data source, pulls yesterday's generation and availability data, validates it against expected ranges, computes the KPIs the operations team cares about, and dispatches formatted reports to WhatsApp, email, and the internal dashboard before 8 AM. When a vendor changes a column header, the system alerts instead of silently producing wrong numbers.

The team stopped opening spreadsheets. The 6 AM shift ended.

The outcome

  • 33+ plants covered — every plant's daily report produced automatically.
  • 30+ reports delivered daily — before 8 AM, every day, without human intervention.
  • Zero manual calculation errors — validation catches vendor format changes before they corrupt numbers.
  • 3+ hours saved per engineer, every day — reclaimed for actual engineering work.
  • Full audit trail — every number traces back to the source file it came from.

Why this matters to you

If your team rebuilds the same report every morning by copy-pasting between spreadsheets, you have exactly this problem. It does not matter whether the numbers are plant generation, warehouse dispatches, hospital patient counts, or CA firm billings. The shape is identical: repetitive data movement, brittle spreadsheets, no audit trail, one person nobody can afford to lose.

The fix is the same. Connect to the sources, validate, generate, deliver. Retire the spreadsheet.

Stack

Node.js, PostgreSQL, Docker, cron scheduling, async workers.