{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "basics": {
    "name": "Nick Kashani Motlagh",
    "label": "Machine learning researcher and engineer",
    "email": "nmotlagh@gmail.com",
    "url": "https://nmotlagh.github.io/",
    "summary": "I’m a machine learning researcher and engineer with a PhD in Computer Science and Engineering from The Ohio State University. I build training pipelines and evaluation tools to study when models should answer, use more evidence, or abstain. Available now for Research Scientist, Research Engineer, Machine Learning Engineer, Applied Scientist, and Software Engineer (AI) roles in the San Francisco Bay Area or New York City. U.S. citizen; no visa sponsorship needed.",
    "location": {
      "city": "Columbus",
      "region": "Ohio",
      "countryCode": "US"
    },
    "profiles": [
      {
        "network": "GitHub",
        "username": "nmotlagh",
        "url": "https://github.com/nmotlagh"
      },
      {
        "network": "LinkedIn",
        "username": "nicholas-kashani-motlagh",
        "url": "https://www.linkedin.com/in/nicholas-kashani-motlagh"
      },
      {
        "network": "Google Scholar",
        "url": "https://scholar.google.com/citations?user=srZXFMcAAAAJ&hl=en"
      },
      {
        "network": "ORCID",
        "username": "0000-0001-6229-6212",
        "url": "https://orcid.org/0000-0001-6229-6212"
      }
    ]
  },
  "work": [
    {
      "name": "DCS Corp",
      "position": "Computer Engineer II",
      "location": "AFRL-sponsored · Dayton, OH",
      "startDate": "2025-05",
      "highlights": [
        "Build evidence-grounded QA systems: small open models answer from retrieved documents, cite the passage they used, and abstain when the evidence doesn’t support an answer. Uses synthetic training data from a teacher model, LoRA fine-tuning, and paired base-versus-adapted evaluation on held-out questions.",
        "Build paired-outcome evaluation pipelines for retrieval-augmented QA that measure, on 25,870 held-out questions, when revision repairs a wrong answer and when it harms a right one.",
        "Train and evaluate LoRA fine-tuned models for answer, refine, and abstain decisions with PyTorch, Hugging Face, and Slurm, comparing policy variants on coverage, utility, and out-of-distribution behavior."
      ]
    },
    {
      "name": "Computer Vision Lab",
      "position": "Graduate Research Associate",
      "location": "Ohio State University · Columbus, OH",
      "startDate": "2021-08",
      "endDate": "2026-08",
      "highlights": [
        "Built selective-prediction systems and reproducible experiments for vision, multimodal, and language tasks, advised by Prof. Jim Davis.",
        "Developed per-class reject-option classification and released public research code. Springer Best Paper Award at ISVC 2022; extended in Machine Vision and Applications, 2025.",
        "Designed ImageCoMMuTE evaluation metrics to separate visual evidence use from final translation decisions (WMT 2024).",
        "Published first-author papers on selective prediction, multimodal evaluation, and satellite imagery collection."
      ]
    },
    {
      "name": "AFRL",
      "position": "Graduate Research Intern",
      "location": "Dayton, OH",
      "startDate": "2022",
      "endDate": "2024",
      "highlights": [
        "Summer 2024: Built and evaluated self-supervised vision models using distributed, containerized training workflows.",
        "Summer 2023: Developed Reject Option Beam Search for machine translation at large beam widths.",
        "Summer 2022: Built the end-to-end training procedure for Naturally Constrained Reject Option Classification."
      ]
    },
    {
      "name": "Ohio State University",
      "position": "Graduate Teaching Associate, Machine Learning & NLP",
      "location": "Ohio State University · Columbus, OH",
      "startDate": "2023-08",
      "endDate": "2025-12",
      "highlights": [
        "Taught and supported machine learning and NLP courses through grading, office hours, and lab materials."
      ]
    },
    {
      "name": "AFRL",
      "position": "Undergraduate Research Intern",
      "location": "Dayton, OH",
      "startDate": "2020",
      "endDate": "2021",
      "highlights": [
        "Summer 2021: Studied ensemble distillation for ambiguous instances.",
        "Summer 2020: Built a semi-automated system for temporal satellite imagery collection (ICCV 2021 workshop), released as the Construction-Site-Satellite-Imagery dataset."
      ]
    },
    {
      "name": "Computer Vision Lab",
      "position": "Undergraduate Research Associate",
      "location": "Ohio State University · Columbus, OH",
      "startDate": "2020",
      "endDate": "2021",
      "highlights": [
        "Built semi-automatic labeling workflows for remote-sensing change detection, including Python tooling for collecting and preparing temporal satellite datasets."
      ]
    },
    {
      "name": "Sii Canada / Concordia University",
      "position": "Summer Research Intern",
      "location": "Montreal, QC",
      "startDate": "2019",
      "endDate": "2019",
      "highlights": [
        "Built anomaly-detection dashboards on behavioral telemetry to prioritize follow-up experiments."
      ]
    },
    {
      "name": "Ohio State University",
      "position": "Undergraduate Teaching Associate, Discrete Structures & Algorithms",
      "location": "Ohio State University · Columbus, OH",
      "startDate": "2018",
      "endDate": "2019",
      "highlights": [
        "Led recitations and office hours for discrete structures and algorithms."
      ]
    }
  ],
  "education": [
    {
      "institution": "The Ohio State University",
      "area": "Computer Science and Engineering",
      "studyType": "Ph.D.",
      "startDate": "2021-08",
      "endDate": "2026-08",
      "score": "3.702"
    },
    {
      "institution": "The Ohio State University",
      "area": "Computer Science and Engineering",
      "studyType": "M.S.",
      "startDate": "2021-08",
      "endDate": "2025-05",
      "score": "3.702"
    },
    {
      "institution": "The Ohio State University",
      "area": "Computer Science and Engineering",
      "studyType": "B.S. with Honors",
      "startDate": "2017-08",
      "endDate": "2021-05",
      "score": "3.86"
    }
  ],
  "awards": [
    {
      "title": "Springer Best Paper Award",
      "date": "2022",
      "awarder": "International Symposium on Visual Computing (ISVC 2022)",
      "summary": "For \"Learning When to Say 'I Don't Know'\"."
    }
  ],
  "publications": [
    {
      "name": "Measuring and Predicting Recoverability in Retrieval-Augmented Revision",
      "publisher": "Dissertation research · Unpublished",
      "releaseDate": "2026",
      "url": "https://nmotlagh.github.io/publications/adaptive-qa-abstention/",
      "summary": "Unpublished manuscript. Paired evaluations distinguish when retrieval-based revision repairs an incorrect answer from when it harms a correct one."
    },
    {
      "name": "Naturally Constrained Reject Option Classification",
      "publisher": "Machine Vision and Applications",
      "releaseDate": "2025",
      "url": "https://nmotlagh.github.io/publications/naturally-constrained-reject-option-classification/",
      "summary": "Journal extension evaluating per-class binomial reject thresholds across 4 vision, 3 text and 8 synthetic datasets, from 2 to 1,000 classes."
    },
    {
      "name": "Assessing the Role of Imagery in Multimodal Machine Translation",
      "publisher": "WMT 2024",
      "releaseDate": "2024",
      "url": "https://nmotlagh.github.io/publications/assessing-imagery-in-multimodal-mt/",
      "summary": "The best multimodal translation system reads the image correctly 81% of the time, but that only changes its translation 63% of the time. 'Images don't help' was partly a measurement artifact."
    },
    {
      "name": "Learning When to Say “I Don’t Know”",
      "publisher": "ISVC 2022",
      "releaseDate": "2022",
      "url": "https://nmotlagh.github.io/publications/learning-when-to-say-i-dont-know/",
      "summary": "Per-class abstention thresholds that need no rejection cost or coverage target: CIFAR-100 selective accuracy climbs from 88.3% to 97.8% at 77.3% coverage."
    },
    {
      "name": "A Framework for Semi-automatic Collection of Temporal Satellite Imagery for Analysis of Dynamic Regions",
      "publisher": "ICCV 2021 Workshop on LUAI",
      "releaseDate": "2021",
      "url": "https://nmotlagh.github.io/publications/framework-for-semi-automatic-collection/",
      "summary": "OpenStreetMap-guided imagery collection and labeling tools for building temporal satellite datasets for dynamic-region analysis."
    }
  ],
  "skills": [
    {
      "name": "LLMs & post-training",
      "keywords": [
        "LoRA / PEFT",
        "Teacher-model synthetic data",
        "vLLM",
        "HF Transformers"
      ]
    },
    {
      "name": "Retrieval",
      "keywords": [
        "DPR dense retrieval",
        "BM25",
        "MonoT5 reranking",
        "FAISS"
      ]
    },
    {
      "name": "Evaluation",
      "keywords": [
        "Paired outcomes",
        "Seeds + paired t-tests",
        "Bootstrap intervals",
        "LLM-as-judge",
        "Selective prediction",
        "Calibration (ECE, Brier)"
      ]
    },
    {
      "name": "Vision",
      "keywords": [
        "ViTs",
        "Linear probes on DINOv2, DINOv3, SigLIP 2",
        "Self-supervised pretraining"
      ]
    },
    {
      "name": "Engineering",
      "keywords": [
        "Python",
        "PyTorch",
        "NumPy",
        "Slurm",
        "Singularity",
        "uv",
        "Git",
        "Linux HPC",
        "TypeScript"
      ]
    }
  ],
  "projects": [
    {
      "name": "Should a RAG system keep its draft or revise it?",
      "description": "Revision can repair a wrong answer or harm a right one. The system has to choose before paying for the full revision. Status: Unpublished. Revised after ACL Rolling Review; arXiv version in preparation. Code and artifacts will not be released.",
      "highlights": [
        "A paired-outcome evaluation on 25,870 held-out questions from NQ-Open, TriviaQA, and PopQA. Each answer is scored as preserved, repaired, harmed, or unrecovered.",
        "Three retrieval setups over Wikipedia: DPR dense retrieval, BM25, and BM25→MonoT5 reranking. Llama 3.1 8B Instruct drafts and revises, Llama 3.3 70B Instruct judges, and gpt-oss-20b and OLMo 3 7B are secondary generators.",
        "LoRA-trained scorers that choose answer or revise, plus abstain in a three-action menu.",
        "3 training seeds with paired run-level t-tests, and 10,000-replicate bootstrap intervals for baselines. Thresholds are picked on dev and frozen before test."
      ],
      "keywords": [
        "PyTorch",
        "HF Transformers",
        "LoRA",
        "vLLM",
        "FAISS",
        "Slurm"
      ],
      "url": "https://nmotlagh.github.io/publications/adaptive-qa-abstention/"
    },
    {
      "name": "Reject-option classification, from Best Paper to live demo",
      "description": "A classifier should decline its least reliable predictions without a hand-set rejection cost or coverage target. Status: Method peer-reviewed: Springer Best Paper Award at ISVC 2022, journal extension in Machine Vision and Applications (2025). The 2026 re-run is public code, not peer-reviewed.",
      "highlights": [
        "Per-class softmax thresholds learned from validation data with a binomial-CDF test: keep declining only while the declined predictions are no better than a coin flip.",
        "On CIFAR-100, selective accuracy rises from 88.3% to 97.8% at 77.3% coverage. The journal extension covers 4 vision, 3 text, and 8 synthetic datasets.",
        "Linear probes on 4 frozen backbones (DINOv2 ViT-S/14 and ViT-B/14, DINOv3 ViT-S/16, SigLIP 2 ViT-B/16), logits from a local RTX 4090, and a fast NumPy B-CDF matched to the reference by 37 parity tests.",
        "Ported the rule to TypeScript and checked it against the Python reference. It runs this site’s live demo: 1,000 test images, a draggable threshold, and δ controls."
      ],
      "keywords": [
        "Python",
        "PyTorch",
        "timm",
        "NumPy",
        "uv",
        "TypeScript"
      ],
      "url": "https://github.com/osu-cvl/learning-idk"
    },
    {
      "name": "Does a multimodal translation model use the image?",
      "description": "Translation scores alone can’t show whether a model reads the image or ignores it. Status: Peer-reviewed, WMT 2024.",
      "highlights": [
        "ImageCoMMuTE: contrastive metrics that hold a candidate translation fixed and swap in matched or mismatched images, separating visual understanding from the final translation decision.",
        "Evaluated three English-to-French multimodal model families, plus gated variants.",
        "The best system (VGAMT) reads the image correctly 81% of the time, but that changes its translation preference only 63% of the time."
      ],
      "keywords": [],
      "url": "https://aclanthology.org/2024.wmt-1.130.pdf"
    },
    {
      "name": "Temporal satellite imagery collection",
      "description": "An OpenStreetMap-guided Python pipeline that extracts candidate construction-site regions and downloads imagery over time. Rebuilt in 2026 as one package with swappable history and imagery backends and a 410-test suite.",
      "keywords": [
        "Python",
        "OpenStreetMap",
        "STAC"
      ],
      "url": "https://github.com/nmotlagh/Construction-Site-Satellite-Imagery-Collection"
    },
    {
      "name": "Model calibration utilities",
      "description": "PyTorch utilities for histogram binning and global and class-wise temperature scaling, with expected-calibration-error summaries and calibration plots.",
      "keywords": [
        "Python",
        "PyTorch"
      ],
      "url": "https://github.com/osu-cvl/calibration"
    }
  ],
  "meta": {
    "canonical": "https://nmotlagh.github.io/resume.json",
    "version": "v1.0.0",
    "lastModified": "2026-09-24"
  }
}