I build myDiGi, Air India's multi-agent assistant for its staff, and did the crew leave analysis that sits alongside it. Outside work I build projects around agents, fine-tuning and data pipelines, and I enter Kaggle competitions. The assistant on this page can answer questions about any of them.
I joined Air India as an AI Engineer in November 2024. Before that I did a dual degree in Aerospace Engineering and Data Science at IIT Madras, where I also led Team Abhyuday, a 30-student rocketry team.
Most of the projects below are my own. They take problems I know from aviation, rockets and finance and try agents, fine-tuning or plain statistics on them.
B.Tech + M.Tech, Aerospace Engineering and Data Science
IIT Madras, 2019 to 2024, CGPA 8.65/10
Team Head, Team Abhyuday
IITM rocketry, Chetak-1, 16th of 158 teams at the Spaceport America Cup 2023
Data Science Intern, Kotak Mahindra Bank
May to Jul 2023, turnover model over 30,000 CIBIL profiles, R² 0.71
AI Engineer, Air India
Nov 2024 to present, myDiGi and crew analytics
Path so far
2019IIT Madras Aerospace and data science
2022Team Abhyuday Led the rocketry team
2023Kotak Mahindra Data science intern
2024Air India AI Engineer, myDiGi
2025Crew analytics Unplanned leave study
2026Kaggle ARC Prize, Name That LLM
Projects
myDiGi
Air India, Nov 2024 to present
The assistant Air India staff use for crew, HR and travel questions. It replaced an older waterfall-dialog chatbot, and it is rolling out to about 25,000 employees. I built the platform: the agents on LangGraph, an MCP layer into the airline's internal systems, and the guardrails, memory and tracing around them. Each request goes to whichever sub-agent can answer it.
3 agents, 14 sub-agents: 8 for HR, 5 for crew, 1 for travel
30+ MCP tools across 5 enterprise systems
25x fewer database writes per turn after replacing default checkpointing with my own session-state service
A flight designer for a competition rocket. Several agents argue over performance, safety and recovery, change the rocket's configuration and re-simulate it in RocketPy, a real physics engine, until the design meets the mission constraints or comes back with a no-go.
About 6 simulations to reach the best design, against 28 for brute force
0% constraint-violating designs, against 69% for a one-shot baseline
33 m mean error predicting apogee from the first 2 seconds of flight
A research pipeline that looks into a company the way an analyst would. A planner scopes the question, four agents research it in parallel, and every claim goes into a typed graph before anything gets compared. Confidence is calculated from source quality, recency and corroboration, and a gap analyzer sends the agents back out until the evidence supports a thesis.
0.856 groundedness over 5 traced runs, with no invented citations
57 s average for a full run
317 tests, all runnable offline
LangGraph, Pydantic v2, LangSmith, GPT-4o and 4o-mini
I fine-tuned Mistral 7B on HR policy questions with no human labellers. A RAG pipeline and an LLM judge produced the preference pairs, then QLoRA handled supervised fine-tuning and DPO the preferences. When I audited my own evaluation I found train/test contamination, so I dropped the affected metrics.
1,978 preference pairs generated without human labelling
Under 16 GB peak memory, down from about 90 GB for full fine-tuning
A study of unplanned crew leave across about 525,000 crew-date records. I tested 17 hypotheses. The usual assumption that holidays cause leave spikes didn't hold up (p = 0.33); base and fleet explain far more.
525k rows covering 73+ leave types
17 hypotheses tested with Welch's t, ANOVA and effect sizes
Python, pandas, scikit-learn
ARC-AGI-3 Agent
Kaggle, ARC Prize 2026, ongoing
An agent for ARC Prize 2026 that plays interactive visual-reasoning games it hasn't seen before. I started from the public Duck harness and Daniel Franzen's milestone-2 solution and have been testing changes on top. So far most haven't beaten the baseline by more than run-to-run noise.
Best leaderboard score 28.95. The unchanged baseline scored 20.60 in my run and 27.89 in Franzen's, so the gain isn't proven.
A data pipeline for Delhi NCR air quality. It pulls from two live APIs and a simulated station feed into a PostgreSQL star schema, transforms with dbt, and runs anomaly detection, Prophet forecasts and Granger causality tests under Prefect. The ground-station data is simulated, and over the 30 days I tested, Prophet did not beat simple baselines.
1,344 Granger tests, 199 of them significant after Bonferroni correction
Given a short essay, say which of 18 LLMs wrote it. My solution blends n-gram TF-IDF, about 100 hand-built style measures, frozen Qwen3-8B embeddings and a two-stage LoRA fine-tune. The latest gains use public data and checkpoints shared by other participants.
Public leaderboard score 0.352 to 0.594 over successive versions
A few things that failed, and what I took from each.
A forecast that lost to a naive baseline
Vayu
Prophet's 24-hour category accuracy was 69.4%. Simply repeating the last observed value scored 75.9%. Most of the 30 days were calm, so a flat guess did well. The model should be tested again across the stubble-burning and winter months before anyone trusts it.
A memory fix that made things worse
ARC-AGI-3 agent
I tried rolling summaries to shrink the model's context. The practice run scored 8.57 against 45.35 for the baseline, so I dropped it. The model server was also killed when host memory spiked, which is why the agent now has a watchdog that restarts it.
An evaluation I had to throw out
RLHF fine-tuning
My first evaluation had train/test overlap at the prompt level. I found it myself, removed the ROUGE and accuracy numbers it produced, and reported win rates with confidence intervals instead.
A clever idea that cost points
Name That LLM
Training one model per topic group looked promising and scored 0.487 on the public leaderboard, below the 0.508 before it, so I reverted it. The log keeps the reverted versions alongside the ones that worked.
Contact
I'm open to AI engineering roles and happy to go through any of this in more detail.