Skip to content
Ankit Raminwar
All work

Enterprise case study · BridgeNext · HR automation system

HR appraisal automation

A serverless pipeline that turns an HR spreadsheet into personalised appraisal letters — rendered as PDFs, stored, and emailed in batches.

Role
Software Development Engineer · backend & architecture
When
Since 2024
Links
Confidential client work
  1. Excel upload
  2. Azure Function
  3. Velocity → PDF
  4. MSSQL + email
System flow

The problem

Appraisal letters were produced from spreadsheet data — repetitive work that grows with headcount and has to be exact for every employee.

What I did

  • Contributed to the system architecture
  • Built Excel parsing and PDF generation in Azure Functions
  • Implemented batch-wise email dispatch and MSSQL persistence

Architecture

  • An Azure Function parses the uploaded Excel sheet
  • Letter templates live in Azure Blob Storage and are rendered with VelocityJS into PDFs
  • Generated letters and their records are stored in MSSQL
  • Emails are sent in batches rather than all at once

Key decisions

Templates as data, not code

Keeping Velocity templates in Blob Storage means letter wording can change without a deployment.

Batch the side effects

Batching keeps sends within email-provider limits and contains a failure to one batch instead of the whole run.

Stack

  • Azure Functions
  • Node.js
  • Azure Blob Storage
  • VelocityJS
  • MSSQL

Client work under NDA — no code, screenshots or client names. The architecture and my role are described as they were.

Esc
↑↓ navigate↵ open