San José, CA · M.S. AI, graduating May 2027

Life is like riding a bicycle. To keep your balance, you must keep moving.

Albert Einstein

I research autonomous systems first: perception that keeps working when the light, the weather or the sensor stops cooperating. Developer productivity and RL post-training interest me too. M.S. in AI at San José State, with ML internships at Sandisk and Synechron behind me. Hackathon enjoyer and occasional mentor.

Ongoing research

Ongoing research

Try the problem I'm working on

To dock with a spacecraft you first have to know exactly how it is turned, from camera images alone. Sunlight off a solar panel can blind an ordinary camera in the middle of the approach.

I'm pairing that camera with an event camera, a sensor that reports only what changes, so the pose estimate survives the glare.

  1. 1Drag the craft
  2. 2Switch the sensor
  3. 3Turn the glare on

A frame camera sees the whole craft, until the sun is in shot. Try the glare.An event camera reports only change. Hold the craft still and it goes dark.Both sensors at once. Now turn the glare on.Saturated. A pose estimate from this frame is a guess.Glare doesn't move, so it never fires an event. The craft is still there.The frame washes out and the events carry the pose: the fusion I'm testing.

Experience

Two internships, both about getting models out of the notebook and onto real hardware.

  1. May 2026 – Aug 2026

    Sandisk

    Machine Learning Intern

    Milpitas, CA

    • PyTorch
    • CLIP
    • Q-Former
    • LoRA
    • CUDA

    Image retrieval and captioning for failure analysis, served from on-premises GPUs.

    • 92% Recall@1 from a CLIP model fine-tuned to retrieve past failure cases, saving 2–3 hours per turnaround.
    • 10× throughput after replacing the Matplotlib image pipeline with CUDA rasterization (20 → 200 images/s), with a 2% better retrieval score.
    • 84% F1 on failure descriptions generated from image embeddings by a Q-Former trained with LoRA (70% exact match).
    • Under 50 ms per query in deployment, using thread-based parallelism.
  2. Aug 2024 – Jul 2025

    Synechron

    Artificial Intelligence Intern

    Pune, India

    • PyTorch
    • LiteLLM
    • LangGraph
    • RAG
    • ColPali

    LLM infrastructure for fintech clients: routing, inference cost, guardrails and retrieval.

    • 10+ internal apps adopted the OWASP-aligned guardrails framework I built for bias, toxicity, PII and prompt injection.
    • 20% lower inference cost from KV caching and speculative decoding in PyTorch.
    • 50% faster contract generation for a client, through an agentic RAG workflow I co-designed.
    • Benchmarked small language models (Llama, Qwen, Gemma, Mistral, Phi) on fintech NLP tasks to design an API gateway that routes between them on private GPU clusters.
    • Delivered a multimodal RAG proof of concept on on-premises hardware with vision-language models, CLIP and ColPali embeddings.

Expected May 2027

San José State University

M.S. Artificial Intelligence · GPA 3.92

May 2025

Savitribai Phule Pune University

B.E. Computer Engineering, Honors in AI/ML · Best Outgoing Student

Projects

Four I would show first, each with a look at what it does. More below.

  • Hackathon win
  • Security
  • Agents
  • Open source

Snitch-Stitch

A command-line auditor for code that AI wrote. It reads a repository, finds the security holes, scores them and proposes each fix as a diff to accept or reject.

  • 1st place at the 500.co hackathon, which then sponsored the project.
  • Scans the backend with an LLM and probes the running frontend with a browser agent.
  • On PyPI as snitch-stitch; I maintain the repo and its releases.

Team of four · 2026

  • Autonomous systems
  • CV
  • Core ML
  • Solo

From COCO to the Road

Eight object detectors trained on COCO, run unchanged on KITTI driving scenes under one protocol, to see what survives the move from everyday photos to the road.

  • Within 0.9 AP of the published COCO number for all eight models.
  • 70.9 Moderate mAP zero-shot on KITTI val from an open-vocabulary detector, the best of the eight.
  • 64.4 → 75.5 Moderate mAP after fine-tuning YOLO11s for 20 epochs at 1280 px.

Solo · 2026 · technical report

404550COCO APRT-DETR-LYOLO11mGrounding DINO-TFaster R-CNN v2YOLO11sYOLO-World-LRetinaNetFCOSminepublished
  • Developer productivity
  • Agents
  • Open source
  • Solo

python-weaver

A framework and CLI for LLM jobs too long for one prompt. It plans a task list from your documents, keeps it in SQLite, and works through it with retries, cost tracking and a pause for human review.

  • Tasks carry dependencies, so a run can stop and resume where it left off.
  • Routes through LiteLLM across OpenAI, Anthropic and Gemini models.
  • On PyPI as python-weaver.

Solo · 2025

  • Open source
  • Agents
  • Contribution

Agent2Agent samples

An AutoGen currency-conversion agent served over the Agent2Agent protocol, contributed to the official samples repository and carried through three merged pull requests.

  • 3 merged PRs reviewed by the project maintainers: the sample, its packaging, and a port to the A2A Python SDK.
  • Session handling and multi-turn streaming over the protocol.
  • The maintainers later folded it into their AG2 sample, so the pull requests are the record.

Solo contribution · 2025

1,080 contributions on GitHub since 2024

@adv-11

2026212 total39 active days

1 on Jan 8, 20262 on Jan 9, 202610 on Jan 31, 20261 on Feb 4, 20262 on Mar 5, 20262 on Mar 9, 20264 on Apr 5, 202610 on Apr 11, 20263 on Apr 12, 20263 on Apr 13, 20266 on Apr 25, 202610 on Apr 27, 20264 on Apr 28, 20263 on Apr 29, 20262 on Apr 30, 20267 on May 1, 20267 on May 2, 20261 on May 7, 20262 on May 11, 20262 on May 15, 20262 on May 16, 20267 on May 19, 20262 on Aug 10, 20264 on Sep 8, 20262 on Sep 13, 20262 on Sep 26, 20262 on Oct 5, 20265 on Oct 6, 20263 on Oct 7, 20261 on Oct 25, 202618 on Nov 1, 20261 on Nov 2, 202617 on Nov 3, 202621 on Nov 5, 202632 on Nov 6, 20264 on Nov 8, 20262 on Nov 9, 20262 on Nov 10, 20263 on Nov 11, 2026

2025656 total234 active days

1 on Jan 1, 20253 on Jan 2, 20252 on Jan 3, 20258 on Jan 4, 20252 on Jan 5, 20252 on Jan 6, 20253 on Jan 7, 20256 on Jan 8, 20256 on Jan 9, 20252 on Jan 10, 20251 on Jan 11, 20251 on Jan 12, 20251 on Jan 13, 202511 on Jan 14, 20254 on Jan 15, 20256 on Jan 16, 20251 on Jan 17, 20257 on Jan 18, 20258 on Jan 19, 20251 on Jan 20, 20252 on Jan 21, 20256 on Jan 22, 202517 on Jan 23, 20251 on Jan 24, 20251 on Jan 25, 20252 on Jan 26, 20251 on Jan 27, 20251 on Jan 28, 20251 on Jan 29, 20251 on Jan 30, 20251 on Jan 31, 20252 on Feb 1, 20252 on Feb 2, 20251 on Feb 3, 20251 on Feb 4, 20251 on Feb 5, 20251 on Feb 6, 20253 on Feb 7, 20253 on Feb 8, 20253 on Feb 9, 20251 on Feb 10, 20251 on Feb 11, 20251 on Feb 12, 20251 on Feb 13, 20251 on Feb 14, 20252 on Feb 15, 20252 on Feb 16, 20253 on Feb 17, 20251 on Feb 18, 20251 on Feb 19, 20252 on Feb 20, 20252 on Feb 21, 20256 on Feb 22, 20251 on Feb 23, 20252 on Feb 24, 20253 on Feb 25, 20252 on Feb 26, 20251 on Feb 27, 20253 on Feb 28, 20251 on Mar 1, 20251 on Mar 2, 20251 on Mar 3, 20251 on Mar 4, 20251 on Mar 5, 20251 on Mar 6, 20252 on Mar 7, 20252 on Mar 8, 20251 on Mar 9, 20251 on Mar 10, 20251 on Mar 11, 202514 on Mar 12, 20251 on Mar 13, 20251 on Mar 14, 20251 on Mar 15, 20251 on Mar 16, 20252 on Mar 17, 20252 on Mar 18, 20252 on Mar 19, 20253 on Mar 20, 20252 on Mar 21, 20251 on Mar 22, 20251 on Mar 23, 20251 on Mar 24, 20255 on Mar 25, 20252 on Mar 26, 20256 on Mar 27, 20251 on Mar 28, 20253 on Mar 29, 202510 on Mar 30, 20251 on Mar 31, 202519 on Apr 1, 20253 on Apr 2, 20251 on Apr 3, 20251 on Apr 4, 20251 on Apr 5, 20251 on Apr 6, 202510 on Apr 7, 20254 on Apr 8, 202513 on Apr 9, 20251 on Apr 10, 20251 on Apr 11, 20251 on Apr 12, 20251 on Apr 13, 20252 on Apr 14, 20251 on Apr 15, 20253 on Apr 16, 20256 on Apr 17, 20251 on Apr 18, 20251 on Apr 19, 20252 on Apr 20, 20254 on Apr 21, 20256 on Apr 22, 20251 on Apr 23, 20252 on Apr 24, 20251 on Apr 25, 20254 on Apr 26, 20251 on Apr 27, 20251 on Apr 28, 20253 on Apr 29, 20251 on Apr 30, 20253 on May 1, 20253 on May 2, 20259 on May 3, 20251 on May 4, 20251 on May 5, 202512 on May 6, 20252 on May 7, 202514 on May 8, 20251 on May 9, 20253 on May 10, 20257 on May 11, 20251 on May 12, 20251 on May 13, 20251 on May 14, 20251 on May 15, 20251 on May 16, 20251 on May 17, 20254 on May 18, 20251 on May 19, 20251 on May 20, 20251 on May 21, 20251 on May 22, 20253 on May 23, 20252 on May 24, 20252 on May 25, 20251 on May 26, 20251 on May 27, 20252 on May 28, 20251 on May 29, 20255 on May 30, 20251 on May 31, 20254 on Jun 1, 202510 on Jun 2, 20252 on Jun 3, 20253 on Jun 4, 20252 on Jun 5, 20252 on Jun 6, 20252 on Jun 7, 20251 on Jun 8, 20252 on Jun 9, 20254 on Jun 10, 20253 on Jun 11, 20254 on Jun 12, 20251 on Jun 13, 20251 on Jun 14, 20251 on Jun 15, 20251 on Jun 16, 20251 on Jun 17, 20259 on Jun 18, 20251 on Jun 19, 20256 on Jun 20, 20252 on Jun 21, 20251 on Jun 22, 20251 on Jun 23, 20258 on Jun 24, 202517 on Jun 25, 20258 on Jun 26, 20252 on Jun 27, 20251 on Jun 28, 20251 on Jun 29, 20255 on Jun 30, 20253 on Jul 1, 20251 on Jul 2, 20251 on Jul 3, 20251 on Jul 4, 20251 on Jul 5, 20252 on Jul 6, 20254 on Jul 7, 20251 on Jul 8, 20251 on Jul 9, 20252 on Aug 6, 20252 on Aug 31, 20251 on Sep 5, 20255 on Sep 11, 20252 on Sep 12, 20251 on Sep 13, 20253 on Sep 16, 20253 on Sep 18, 20251 on Sep 19, 20255 on Sep 23, 20256 on Sep 25, 20251 on Sep 27, 20255 on Sep 29, 20251 on Sep 30, 20251 on Oct 2, 20254 on Oct 7, 20254 on Oct 9, 20255 on Oct 12, 20252 on Oct 15, 20253 on Oct 17, 202510 on Oct 18, 20253 on Oct 19, 20252 on Oct 20, 20253 on Oct 21, 20253 on Oct 25, 20251 on Oct 26, 20255 on Oct 27, 20251 on Oct 31, 20251 on Nov 7, 20252 on Nov 12, 20252 on Nov 16, 20253 on Nov 18, 20251 on Nov 22, 20251 on Nov 24, 20251 on Nov 29, 20252 on Nov 30, 20253 on Dec 2, 20251 on Dec 3, 20251 on Dec 6, 20251 on Dec 7, 20251 on Dec 9, 20254 on Dec 10, 20251 on Dec 11, 20254 on Dec 26, 2025

2024212 total83 active days

1 on Jan 1, 20248 on Jan 2, 20241 on Jan 3, 20241 on Jan 9, 20245 on Jan 11, 20241 on Jan 14, 20243 on Jan 15, 20244 on Jan 16, 20243 on Jan 23, 20242 on Jan 25, 20244 on Jan 26, 20243 on Jan 29, 20242 on Jan 30, 20242 on Jan 31, 20241 on Feb 5, 20242 on Feb 6, 20241 on Feb 7, 20241 on Feb 8, 20242 on Feb 13, 20241 on Feb 27, 20243 on Mar 5, 20244 on Mar 11, 20242 on Mar 17, 20242 on Mar 28, 20245 on Apr 5, 20241 on Apr 9, 20242 on Apr 10, 20241 on Apr 12, 20241 on Apr 13, 20241 on Apr 14, 20242 on Apr 15, 20241 on Apr 16, 20243 on Apr 17, 20246 on Apr 22, 20246 on Apr 23, 20241 on Apr 27, 20243 on Apr 28, 20241 on Apr 29, 20241 on May 3, 20243 on May 7, 20242 on May 8, 20242 on May 24, 20244 on May 25, 20241 on May 26, 20242 on May 29, 20241 on Jun 12, 20242 on Jun 13, 20241 on Jul 17, 20241 on Jul 18, 202411 on Sep 21, 20241 on Sep 30, 20244 on Oct 1, 20242 on Oct 8, 20246 on Oct 9, 20246 on Oct 11, 20245 on Oct 12, 20243 on Oct 13, 20241 on Oct 14, 20241 on Oct 19, 20241 on Oct 20, 20241 on Oct 28, 20241 on Oct 29, 20245 on Oct 30, 20241 on Nov 4, 20246 on Nov 5, 20241 on Nov 7, 20243 on Nov 10, 20245 on Nov 12, 20241 on Nov 13, 20246 on Nov 16, 20242 on Nov 17, 20241 on Nov 19, 20241 on Nov 23, 20244 on Nov 27, 20241 on Nov 28, 20241 on Dec 13, 20241 on Dec 20, 20248 on Dec 21, 20241 on Dec 24, 20241 on Dec 28, 20243 on Dec 29, 20243 on Dec 30, 20241 on Dec 31, 2024
lessmore

Research

Two studies running now, both on perception for autonomous systems. Three written up.

  • Ongoing
  • Sensor fusion
  • CV

Saturation-gated event and RGB fusion for spacecraft pose

Can a small gate, driven by how saturated the RGB image is, decide when to trust the event camera instead? Trained only on synthetic data from the FRESH dataset and held to a frozen protocol: eight fusion rules, matched controls, and real harsh-lighting sequences kept unseen until the end.

  • 13.7° → 5.8° rotation error under synthetic glare once events are fused in. Interim, on validation data; the real-sequence test is still to run.
  • A 129-run experiment matrix with comparisons fixed before the results came in.
Try it above

With Jasper Morgal · SJSU · code private until the write-up

RGB cropHRNet encoderEvent cropHRNet encoderSaturation gatefusionHeatmapskeypointsEPnP + LMsolver6-DoF poseR, t
  • Ongoing
  • Object detection
  • Calibration

Threshold transfer under distribution shift

A detector's confidence threshold is usually tuned on clear-day images. I'm measuring how much pedestrian recall that frozen threshold loses at night and in fog, rain and snow, and whether calibration metrics can predict the loss. Two AI research agents investigate independently and review each other; I approve what merges.

Repository

Solo · protocol and tooling stage, no results yet

Latest merged

  1. ACDC dependency grouping and an 8 GB GPU feasibility smoke test
  2. ACDC annotation adapter and pairing audit
  3. Reference threshold-transfer evaluator
Condition

Illustration with synthetic scores. Not measured results.

  • detected pedestrian
  • missed pedestrian
  • false positive
  • pedestrian
  • distractor
  • pedestrians, clear day
  • clear-day tuning
  • x: confidence score
pedestrian recall
 
missed pedestrians
 
false positives
 

A confidence threshold is tuned for 90% pedestrian recall on a clear day, then frozen and used in another condition.

score = sigmoid(z − δ + s·ε)  

How the scores are made: each object gets a clear-day logit z and a fixed noise term ε, both drawn once from a seeded normal. A condition lowers the logit by δ and spreads it by s. I picked δ and s by hand for each condition to show the question. The project has not measured them yet. The curves are the densities this model implies, and the tint of the scene is only a cue for the condition.

Simplifications: one scene, the same 22 objects in every condition, and the threshold is tuned and scored on the same clear-day pedestrians. The research protocol keeps the tuning set and the test set separate.

Written up

  1. Journal articleCureus Journals

    Information Retrieval System for Automating Quiz Generation and Evaluation Using Large Language Models

    The paper behind AI Smart Classroom, my undergraduate final-year project: a teacher uploads course material, a retrieval pipeline drafts the quiz, and written feedback regenerates it.

  2. Paper · IEEE formatSan José State University, 2026

    Applying Reinforcement Learning to the Connection Game Y

    Search, temporal-difference and policy-gradient agents ranked in one round-robin arena. My part: the Gymnasium environment and the Stable-Baselines3 agents, where action-masked PPO finished 371 Elo above plain PPO.

    First author, with Jasper Morgal, Nickzad Bayati and Toney Zhen

  3. Paper · IEEE formatSan José State University, 2026

    LibRec: Comparing Social-Aware Recommender Systems

    Does a trust graph help when ratings are sparse? Three models against two baselines on LibraryThing (1.7M reviews, 83K users). My part: the data exploration and the graph feature propagation model.

    With Cale Smith and Jasper Morgal

Writing

I write to find out whether I understand something.All of it is on Medium.

Articles

  1. VLMs: Paradigms and Trade-offsFour ways to get pixels into a language model, and where each one pays for it.Explorable9 min
  2. CNNs : breakdown and breakthroughs from 1998 to 2019 !From LeNet to EfficientNet: the one idea each landmark CNN added.Explorable7 min
  3. How Reinforcement Learning quietly runs your Recommender Systems!Why A/B splits waste traffic, and how bandits at Netflix and Spotify fix that.Explorable8 min
  4. LLM Scaling laws and their relevance in 2026!Kaplan versus Chinchilla, checked against the models people actually shipped.Explorable6 min
  5. Finding the Perfect Replacement: How ML Recommender Systems can aid Valorant Transfers!A similarity recommender for finding replacement duelists in the VCT transfer window.5 min
  6. Unpacking the Google ADK: What Developers Need to KnowWhat works in Google's Agent Development Kit, and what feels over-built.10 min
  7. Behemouth, Maverick and Scout!Meta's Llama 4 family, with distillation and mixture-of-experts explained first.5 min
  8. Revolutionizing AI Agents: LangMem Long Term MemoryGiving agents durable memory with LangMem: facts, episodes and rewritten prompts.9 min
  9. RAG without LangChain and LlamaIndex?A retrieval pipeline by hand with transformers, torch and numpy, to see what frameworks hide.Explorable6 min
  10. Understanding Flow Engineering: A New Paradigm in AI Development via LaReliable LLM apps come from control flow you design, with LangGraph as the middle ground.4 min
Follow on Medium

Off the clock

Balance is the thing I guard most. This is the other side of it.

Tokens through Claude Code

20.1M
a day
140M
a week
602M
a month

Oct 5, 2026 – present, average

Who I'm yelling at

  • Real MadridFootball
  • SentinelsValorant
  • Royal Challengers BengaluruIPL
  • San Francisco 49ersNFL

Right now in San José

--:--

Pune → San José · 13,590 km

Current favourite model

ClaudeClaude Opus 5.5

high effort

5K run

7:40/km

keep moving

Reading

The Cerebral Code

William H. Calvin

Otherwise found

  • Cooking
  • Hiking
  • Photography

Résumé

Download PDFOpen in tab