About Me

I am a master's student in Computer Science at the University of Pennsylvania, where I work at the intersection of machine learning research and software engineering. Three years of writing production code at Lexmark | Xerox taught me that good systems and good models share the same foundation: they need to work for real people in real conditions. At Penn, I am learning how to bring research depth to the systems I build, and engineering discipline to the research I do.

Outside of my academic and technical work, I enjoy reading, watching films, and exploring music. I often find myself reflecting on a book I recently finished, a film that stayed with me, or a song I have been listening to on repeat. These are interests I genuinely enjoy engaging with in my free time.

I love building things that sit at the intersection of intelligent systems and practical impact, whether that means fine-tuning language models or designing a full-stack application from scratch.

Currently Seeking

Open to Software Engineering, Data Science, and Machine Learning internship opportunities for Summer 2026. Always excited about meaningful collaborations and open-source contributions. If something here resonates, let's talk.

Education

Aug 2025 - May 2027

University of Pennsylvania

Master of Science in Engineering, Computer and Information Science

Philadelphia, PA

Aug 2018 - Jun 2022

Maulana Abul Kalam Azad University of Technology

Bachelor of Technology (Hons.) in Information Technology

Kolkata, India

Projects

PennCloud

Distributed Systems

Built a fault-tolerant distributed cloud platform in C++ featuring webmail and file storage across 5 replicated backend servers, supporting file uploads of 800MB+. Implemented primary-based replication across 10 tablets (each on 3 replicas), write-ahead logging, and checkpointing with two-path crash recovery ensuring zero data loss across node failures. Includes a master coordinator with automatic primary election within one 250ms heartbeat cycle, a frontend load balancer, and an admin console for live fault injection and recovery testing.

Read the full write-up →
C++Distributed SystemsFault ToleranceKey-Value StoreSMTPHTTP

Failure Mode Transfer in Distilled RAG Systems

Machine Learning Research

Studied how knowledge distillation reshapes failure modes in Retrieval-Augmented Generation systems. Built a controlled RAG pipeline on the SciFact biomedical benchmark, evaluated six chunking strategies, and distilled a 1B-parameter student from a 70B teacher using LoRA fine-tuning. Categorized failures using the Seven Failure Points taxonomy across 338 validation claims. While accuracy dropped 14.2 points, the student hallucinated roughly 30x more often (0.3% → 8.9%) and amplified the teacher's label bias, demonstrating that aggregate accuracy hides critical deployment risks in distilled RAG.

PythonPyTorchLoRAFine-tuningLlama 3.3 70BLlama 3.2 1BFAISSRAG

Generative Social Persona Modeling and Simulation

Machine Learning Research

Built a generative simulation framework to tackle extreme class imbalance in social data. The system synthesizes realistic responses across 25 distinct personas, enabling model training on heavily skewed datasets. I benchmarked classical and neural approaches before fine-tuning a language model with LoRA, achieving strong gains over zero-shot baselines.

PythonPyTorchLoRASentence TransformersQwen2.5

Bidirectional Co-Attention for Image-Text Retrieval

Deep Learning Research

Designed a cross-modal retrieval architecture that aligns visual and textual representations through bidirectional co-attention. By fusing frozen ViT and BERT features before pooling, the model captures fine-grained correspondences between image regions and text tokens, outperforming standard contrastive approaches on Flickr30k retrieval benchmarks.

PyTorchViTBERTInfoNCEFlickr30k

Job Market Analytics and Intelligence Engine

Full Stack Development

Created an end-to-end analytics platform that aggregates and visualizes hiring trends across a large-scale job market dataset. The system features a carefully normalized database schema, RESTful APIs, and an interactive frontend for exploring hiring hotspots, with query optimizations that brought analytics response times well under a second.

ReactNode.jsPostgreSQLAWS RDSREST APIs

Experience

Lexmark | Xerox (India)

Software Engineer · Kolkata, India · Jul 2022 - Jul 2025

Over three years at Lexmark | Xerox, I worked across the enterprise stack (Azure, .NET, Dynamics 365, Dataverse), building event-driven systems, distributed ingestion pipelines, and modernizing legacy infrastructure. Most of it happened in a SAFe Agile environment, in close collaboration with product, QA, and architecture.

  • Architected an event-driven Azure Functions and Service Bus pipeline that automated supply chain forecasting in Dynamics 365, driving a $10M reduction in inventory overhead and restoring back-order levels to pre-COVID baselines.
  • Led the phased migration of customer support modules from Siebel to Dynamics 365 on .NET 8, coordinating staged cutovers across Dev, Test, UAT, and Production. Delivered a 50% productivity boost for agents and a 20% CSAT improvement.
  • Designed a two-stage Queue-Based Load Leveling pipeline (a named Microsoft Azure pattern) to ingest predictive-maintenance batches into Dynamics 365 within a 4-hour SLA, while keeping Dataverse below its HTTP 429 service-protection thresholds.
  • Built an automated exception-recovery Function App that resumed stalled Dynamics 365 orders across 12 exception types, replacing manual re-trigger work with idempotent pipeline replay. Recognized with a Manager Appreciation Award.
  • Accelerated bulk Dataverse writes by 4x on forecast updates by replacing sequential CRUD with parallel batched upserts via Parallel.ForEachAsync.
AzureJavaScript.NETC#SQLXMLService BusAzure FunctionsDataverseDynamics 365

Nomura Research Institute Financial Technologies

Associate Software Engineer Intern · Kolkata, India · Sep 2021 - May 2022

As an intern on the financial technologies team, I worked on configuration management and tooling for security brokerage platforms, building Java applications alongside teams that supported live client systems. The role taught me how to ship safely against production constraints and communicate technical changes to non-engineering stakeholders.

  • Built and maintained command-line batch jobs and web applications using Java, Spring, HTML, JavaScript, and Oracle databases, focused on configuration accuracy and deployment safety.
  • Authored technical documentation including process flow diagrams, use cases, and impact analysis documents to support handoffs and design reviews.
  • Collaborated with cross-functional teams to identify and resolve bugs and performance bottlenecks across production applications.
JavaSpringJavaScriptHTMLCSSOracle SQL

Research

LLM-Based Agentic Debugging and Self-Correction

Cognitive Computation Group, University of Pennsylvania · Advised by Prof. Dan Roth, Mentored by Haoyu Wang (PhD) · Jan 2026 - Present

My current research investigates how large language models behave when they encounter errors in multi-step agentic pipelines. I am building trajectory-level datasets by introducing controlled perturbations into intermediate agent steps, studying how models detect and recover from mistakes, and exploring whether fine-tuning can improve their self-correction capabilities in complex software engineering tasks.

Beyond RLVR: Easier and Robust Post-Training via On-Policy Self-Distillation

Ongoing Research

This work explores whether large language models can improve their own reasoning without relying on an external teacher. Recent findings show that off-policy methods like SFT and off-policy distillation often lead to forgetting, while on-policy approaches better preserve existing capabilities. Building on the observation that even incorrect chain-of-thought traces from a distributionally closer source can boost reasoning performance, we study whether a model's own synthetic outputs, both correct and incorrect, are sufficient to strengthen its reasoning through self-distillation alone, removing the need for a separate teacher model entirely.

Audio Processing Using Pattern Recognition for Music Genre Classification

Sivangi Chatterjee, Srishti Ganguly, Avik Bose, Hrithik Raj Prasad, Arijit Ghosal · Preprint (preparing for submission)

A research paper on applying pattern recognition techniques to classify music genres from audio signals. Currently being prepared for submission to BVICAM's International Journal of Information Technology.

Skills

Technical

Languages

CC++C#JavaPython JavaScriptTypeScriptSQLHTML/CSS

Frameworks and Libraries

ReactNode.jsSpring BootASP.NET SparkPowerApps

Machine Learning

PyTorchKerasScikit-learnHuggingFace NLPLLMsNumPyPandas

Databases and Cloud

PostgreSQLMySQLMongoDBNeo4j OracleAzureAWSDocker

Operating Systems

LinuxUnixWindows

Soft Skills

Communication and Collaboration

Cross-functional collaboration Technical writing Stakeholder communication Mentoring

Problem Solving

Analytical thinking Debugging System design Research methodology

Leadership and Process

Agile / SAFe Project leadership Code reviews Requirements analysis

Adaptability

Fast learner Self-directed Team player Detail-oriented