software engineer · ann arbor, mi

Dhruv Kapur.

Graduate student at the University of Michigan building where AI agents meet real systems, from a Model Context Protocol server that lets LLMs run cloud infrastructure commands to network protocols, distributed systems, and machine learning models.

Two-time software engineering intern at NetApp · NeurIPS 2023 co-author · B.S. Computer Science, Summa Cum Laude

01

about

Hi! I'm Dhruv, a graduate student at the University of Michigan pursuing a Master's in Computer Engineering, focused on embedded systems and computer vision. I earned my Bachelor's in Computer Science at Michigan, with a minor in User Experience Design.

My work spans cloud infrastructure and research. At NetApp, I've built tooling and infrastructure for Azure NetApp Files and Google Cloud NetApp Volumes. My research in data privacy began during my first internship at Knexus Research Corporation and led to a NeurIPS 2023 Datasets & Benchmarks paper.

Relevant coursework

  • Web SystemsReact.js, Python, SQL
  • Data Science & Machine LearningPython
  • Artificial IntelligencePython
  • Data Structures & AlgorithmsC++
  • Parallel Programming with GPUsC, CUDA
  • Mobile App Development
  • Web Design, Development & AccessibilityHTML, CSS, JavaScript

02

experience

  1. San Jose, CA

    Cloud Software Engineering Intern @ NetApp

    Azure NetApp Files

    • Built an aggregate relocation proof of concept for upgrading ONTAP HA pairs, reducing failover upgrade times by ~30x (30 min → ~1 min).
    • Worked on CIT coverage for the NFS over TLS protocol, and NetApp FabricPool and SnapMirror on Oracle Cloud Infrastructure (OCI).
    • Azure NetApp Files
    • ONTAP
    • NFS over TLS
    • Oracle Cloud Infrastructure
  2. Software Engineering Intern @ NetApp

    Google Cloud NetApp Volumes

    • Worked on integrating the Google Cloud Console into the IDE.
    • Developed a Model Context Protocol server that lets developers use an LLM to execute commands and configurations efficiently, following cloud infrastructure standards.
    • TypeScript
    • Python
    • JavaScript
    • HTML/CSS
    • Google Cloud Platform
  3. Privacy Research @ University of Michigan

    Michigan Institute for Data and AI in Society (MIDAS) · with postdoctoral researcher Jeremy Seeman

    • Analyzed de-identification algorithms in depth, continuing my NeurIPS 2023 work in differential privacy.
    • Contributed a paper to the NIST Collaborative Research Cycle Explanatory Workshop (see research).
    • Python
    • pandas
    • Matplotlib
    • Seaborn
  4. Research Intern @ Knexus Research Corporation

    NIST Collaborative Research Cycle

    • Explored the behavior of data de-identification across 450+ de-identified data samples in the NIST Collaborative Research Cycle program.
    • Compiled the findings into a report for the NeurIPS 2023 Datasets & Benchmarks Track.
    • Python
    • pandas
    • Matplotlib
    • Seaborn

03

research

NeurIPS 2023 · Datasets & Benchmarks Track

Diverse Community Data for Benchmarking Data Privacy Algorithms

Sen, A., Task, C., Kapur, D., Howarth, G. S., & Bhagat, K.

Thirty-seventh Conference on Neural Information Processing Systems.

NIST Collaborative Research Cycle · Explanatory Workshop

An Exploratory Meta-Analysis to Identify Outlying Behavior in the NIST Collaborative Research Cycle Archive

With Jeremy Seeman, University of Michigan.

04

projects

Recipe Rating Predictor

Built a regression model to predict recipe ratings from 83,000+ food.com recipes and 730,000+ user reviews. Exploratory analysis showed that recipes with fewer steps and shorter prep times tend to be rated higher. Engineered features such as tag count and calories per ingredient, and tuned a Random Forest Regressor, improving MSE over a linear regression baseline (0.501 → 0.492).

  • Python
  • pandas
  • scikit-learn

MapReduce Framework & Search Engine

Built a distributed MapReduce framework with a multi-threaded Manager and Workers that communicate over TCP, use UDP heartbeats to detect failed Workers, and reassign their tasks so jobs still finish. Then built a search engine on top: a MapReduce pipeline producing a segmented inverted index with tf-idf scores, index servers exposing REST APIs, and a Flask search interface ranking results by tf-idf combined with PageRank.

  • Python
  • Flask
  • sockets
  • threading

Insta485: Instagram Clone

Built an Instagram clone in three stages: a templated static site generator, a server-side dynamic app with Flask, Jinja2, and SQLite (accounts, sessions, posts, follows), and finally a client-side React single-page app backed by an authenticated REST API, with infinite scroll, double-click-to-like, and live comments.

  • Python
  • Flask
  • SQLite
  • React
  • JavaScript

ClashBot

Developed a Discord bot with the discord.py API to improve communication and organization within a gaming community of 300+ members. Hosted it on a virtual private server (VPS) for 24/7 uptime.

  • Python
  • discord.py

Computer Vision Editing

Implemented content-aware image resizing with the seam carving algorithm. Computed pixel energy and cumulative cost matrices to find and remove the lowest-energy seams, shrinking images while preserving their important features. Built Matrix and Image ADTs on 1D arrays using pointer arithmetic, with PPM file I/O and a command-line resize tool.

  • C++

Euchre Card Game Simulation

Built a complete, playable Euchre game around Card, Pack, and Player abstract data types. Used inheritance and polymorphism to support a strategy-driven AI player and an interactive human player behind one interface. The engine handles shuffling and dealing, two-round trump bidding, trick-taking, and scoring, backed by unit tests.

  • C++

Machine Learning Text Classification

Created a text classifier that achieved 87% accuracy on Piazza post categorization. Implemented supervised learning with log-probability scoring, processing large CSV datasets to train the model, and built debugging tools to visualize training data and classifier parameters.

  • C++

Office Hours Queue Management System

Developed a REST API for managing student office hours queues, implementing a custom doubly-linked list with full iterator support, careful dynamic memory management, and comprehensive error handling.

  • C++
  • REST API

Statistical Analysis Tool

Wrote a command-line statistics program that reads CSV/TSV datasets and reports descriptive statistics (mean, median, standard deviation, percentiles), and compares two groups using bootstrap-resampled 95% confidence intervals for the difference in means.

  • C++

Segway Optimization

Balanced and drove a simulated Segway using optimization-based control. Modeled the cart and Segway as discrete-time linear systems (xk+1 = Axk + Buk) and computed minimum-energy control inputs with minimum-norm least squares, comparing open-loop control with feedback control that rejects disturbances.

  • Julia

Computing Alaskan Precipitation

Performed a 3D surface regression on NOAA's gridded precipitation data to estimate July 2020 rainfall at any longitude/latitude in Alaska. Wrote LU-factorization-based least squares solvers from scratch and fit the data with radial basis function models.

  • Julia

Robotic Mapping with LiDAR

Processed large LiDAR point-cloud datasets with matrix operations to build maps for robot navigation, applying translation, rotation, and scaling as affine transformations in homogeneous coordinates.

  • Julia

05

let's connect

I'm always happy to talk about cloud systems, research, or new opportunities.

dhruvka@umich.edu