I build the parts of AI products that have to hold up after the demo: LLM serving benchmarks, guarded GenAI workflows, backend data services, deployment logs, and evaluation loops. The robotics thread in my background is now focused on perception work: turning culvert inspection footage into defect masks, polygons, and reviewable model outputs.
Distributed Robotics and Networked Embedded Sensing (DRONES) Lab — Research Aide
- Built the ML side of a culvert-inspection workflow: sampled keyframes from inspection video, used SAM-3 promptable segmentation for crack/spalling/void masks, and exported JSON masks and polygons for downstream review.
- Packaged PyTorch inference behind an endpoint-style workflow with frame inputs, model-versioned artifacts, endpoint logs, and per-run IoU/F1 reports; measured about 0.74 mask IoU and 2.3s p95 keyframe inference.
- Robotics context: the segmentation output was designed for culvert/robot inspection runs, but the core contribution was perception, model serving, and evaluation rather than navigation or controls.
Tata Elxsi — Software Engineer Intern
- Worked on the data and evaluation side of ADAS perception validation, building Python pipelines that paired scenario metadata with synchronized RGB, depth, semantic-label, pose, and calibration outputs from simulator runs.
- Converted raw run logs into replayable perception-evaluation sets across 120+ scenario tests, including lane, object, lighting, and weather variations.
- Added checks for missing frames, timestamp drift, label mismatch, and calibration gaps so bad scenario runs failed early instead of producing unreliable model-evaluation reports.
LLMate.ai — Backend Engineer Intern
- Built backend pieces for a governed natural-language analytics workflow over 50,000+ structured records: schema retrieval, parser validation, read-only query enforcement, dry-run checks, result caching, and replayable evaluation cases.
- Separated user-facing requests from slower LLM/database work with asynchronous task execution, status tracking, retry paths, and failure logs, which made long-running report generation easier to debug.
- Kept the LLM layer grounded in table metadata and query policies instead of a plain prompt wrapper, so user questions produced auditable SQL and bounded outputs.
- Languages: Python, C++, Java, SQL
- AI systems: LLM inference, model serving, vLLM, QLoRA, RLHF-style alignment, CUDA Graphs, model evaluation
- Backend and cloud: FastAPI, Spring Boot, Docker, GCP, Cloud Run, Hugging Face Endpoints, BigQuery, observability, CI/CD
- Data and perception: SQL validation, RAG, schema checks, JSON outputs, computer vision, segmentation, perception evaluation
I am looking for software engineering, ML engineering, backend/platform, and applied AI roles where the work is close to shipped systems: runtime behavior, service reliability, data contracts, evaluation quality, and production-facing demos.



