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