dhruv kapur

projects

all the way from backend engineering & management to the user's screen :)

ClashBot

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


Python

Recipe Rating Predictor - food.com

Visit Results: > recipe-analysis


Built a regression model to predict recipe ratings from 83,000+ food.com recipes and 730,000+ user reviews. Cleaned and merged the datasets, then ran exploratory analysis, which 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

Web-Based Office Hours Queue Management System

Developed a high-performance REST API in C++ for managing student office hours queues, implementing custom doubly-linked list data structures with full iterator support. Built careful dynamic memory management, integrated comprehensive error handling. The system demonstrates low-level programming expertise while solving a real-world coordination problem for academic environments.


C++

Machine Learning Text Classification

Created an intelligent text classifier in C++ that achieved 87% accuracy on Piazza post categorization. Implemented supervised learning algorithms with log-probability scoring, processing large CSV datasets to train the model. Built debugging tools to visualize training data and classifier parameters, showcasing both machine learning fundamentals and systems programming skills in a performance-critical application.


C++

Euchre (Card Game) Simulation

Built a complete, playable Euchre card game in C++ around Card, Pack, and Player abstract data types. Used inheritance and polymorphism to support both a strategy-driven AI player and an interactive human player behind one abstract interface. The game engine handles shuffling and dealing, two-round trump bidding, trick-taking logic, and scoring across hands, and is backed by unit tests written to catch bugs in faulty implementations.


C++

Computer Vision Editing

Implemented content-aware image resizing with the seam carving algorithm in C++. 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++

Statistical Analysis Tool

Wrote a command-line statistics program in C++ that reads CSV/TSV datasets and reports descriptive statistics (mean, median, standard deviation, percentiles). It also compares two groups using bootstrap-resampled 95% confidence intervals for the difference in means. Verified each function with thorough unit tests.


C++

Insta485 - Instagram Clone

Built an Instagram clone in three stages: a templated static site generator, then 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. The React front end supports infinite scroll, liking and double-click-to-like, and adding or deleting comments, all without page reloads.


Python, Flask, SQLite, React, JavaScript

MapReduce Framework & Search Engine

Built a distributed MapReduce framework in Python 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 scalable search engine on top: a MapReduce pipeline that produces a segmented inverted index with tf-idf scores, index servers exposing REST APIs, and a Flask search interface that ranks results by tf-idf similarity combined with PageRank.


Python, Flask, sockets, threading

Robotic Mapping with LiDAR

Processed large LiDAR point-cloud datasets with matrix operations in Julia to build maps for robot navigation. Applied translation, rotation, and scaling as affine transformations in homogeneous coordinates to move measurements between coordinate frames.


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 (forward and back substitution) from scratch and fit the data with radial basis function models.


Julia

V1 of dhruvk19.com

Check out my old* portfolio website: v1.dhruvk19.com


* Information not updated



HTML, CSS, JavaScript

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 by solving underdetermined systems with minimum-norm least squares. Compared open-loop control with feedback control that re-plans from the measured state to reject disturbances.


Julia