ls -la ~/projects

Projects

Coursework, research, and side projects that didn't fit neatly into a work-experience bullet point. Status reflects whether I still touch the code.

Safe-RL exploration

archived
Reinforcement learning

A 3-layer feedforward safety network sits after every deterministic policy update in custom OpenAI Gym environments (Box-2D, a spaceship lander), correcting actions before they execute. Zero safety violations across 10,000+ episodes, while recovering 85–95% of the optimal unsafe policy's performance.

PyTorchDDPGTD3GymnasiumPolicy-gradient
0 violations / 10k+ episodesview source ↗

E-commerce review score forecasting using MLFlow

archived
MLOps

Built with ZenML across ingestion, cleaning, training, and evaluation stages, with automated deployment through the MLflow model registry on a custom ZenML stack. Cut manual deployment steps by 60% and serves live inference through MLflow's model deployer.

ZenMLMLflowPython
F-score 0.88view source ↗

indic-NMT

archived
NLP

Compared LSTM/GRU with attention against a Transformer using periodic positional embeddings, with BoW, TF-IDF, FastText, and GloVe encoding strategies evaluated along the way. The Transformer architecture reached a BLEU score of 0.101 on a curated multilingual validation set.

PyTorchTransformersFastTextGloVe
BLEU 0.101view source ↗

Unicycle Trajectory Patterns

archived
Robotics

Implemented trajectory generation for a differentiable holonomic drive in ROS with Gazebo simulations, alongside MATLAB scripts for bounded generating functions and range-based control laws solved via Euler Integration and fourth-order Runge-Kutta methods. Designed Type 1 and Type 2 unicycle trajectories across multiple target points using intermediate bounded-region trajectories with switching radii derived from their generating functions, then validated the algorithm on a Turtlebot 3 (Burger) while managing latency through ROS Multimaster.

ROSGazeboMATLABTurtlebot 3Controller DesignODEs
Validated on Turtlebot 3view source ↗

Semantic Textual Relatedness in Multilingual Contexts

archived
NLP

Built an effective semantic textual similarity pipeline across languages for SemEval 2024 Task 1, covering supervised, unsupervised, and cross-lingual tracks. Explored SentenceBERT for sentence embedding extraction alongside unigram/bigram extraction with negative sampling for data generation in the unsupervised track. Implemented contrastive learning with a DistilRoBERTa model and a trainable feed-forward layer for the supervised track, and Transformer-based Sequential Denoising Auto-Encoders (TSDAE) for relatedness scoring in the unsupervised task. Designed a custom relatedness metric combining lexical and distance-based measures with their higher-order variants, and authored the system description paper detailing the approach for submission to SemEval 2024, NAACL '24.

PyTorchSentenceBERTDistilRoBERTaTSDAETransformersContrastive LearningNLP
SemEval-NAACL 2024view source ↗

Lunar Atlas creation from Chandrayaan Orbiter imagery

archived
Computer Vision

Developed an ML model to generate high-resolution lunar maps from Chandrayaan Orbiter imaging payloads for Inter IIT Tech Meet 11.0. Built a global digital lunar atlas in MATLAB from medium/low-resolution data using a custom image-stitching pipeline with efficient storage for large-scale imagery. Implemented SRGAN on overlapping data from the Orbiter High Resolution Camera (OHRC) and Terrain Mapping Camera-2 (TMC-2) payloads to upscale medium-resolution (5-10 m) lunar images to high resolution (30 cm).

MATLABSRGANPyTorchImage Stitching
Lunar Atlasview source ↗

Jux - Solar Flare Detection and Classification

archived
Data Science

Developed Jux, a standalone web-based application for identifying solar flares from lightcurve files for Inter IIT Tech Meet 10.0. Applied preprocessing techniques including FFT smoothening, windowing, and interpolation on raw solar flare data, followed by a filtering approach using slope and height thresholding combined with Isolation Forest for feature detection and classification. Built a plug-and-analyze website for handling solar flare data using React and Flask, and packaged and deployed the complete codebase as a functional Python package on PyPI (v1.0.0).

ReactFlaskIsolation ForestPyPIPythonFFTEDA
Jux v1.0.0 on PyPIview source ↗

Orbital Dynamics Challenge

archived
Orbital Mechanics

Built a real-time calculator to infer a satellite's geographical coordinates from its Keplerian orbital parameters and the imager's attitude quaternions using coordinate transformations. Implemented the pipeline by transforming perifocal parameters to the Earth-Centered Inertial (ECI) frame, then to Earth-Centered Earth-Fixed (ECEF), and finally to World Geodetic System (WGS84) coordinates. Designed and deployed an end-to-end web application on Vercel using ReactJS.

ReactJSVercelOrbital Mechanics
Shastra 2023view source ↗

Scientific Visualization projects

archived
Data Visualization

Implemented isocontour extraction via the marching squares algorithm on 2D hurricane data and Phong-illuminated volume rendering of 3D hurricane scalar field data using the VTK library, for CS661 (Big Data Analytics) under Prof. Soumya Dutta. Built custom dynamic isosurface and value-distribution plots using ipywidgets for interactive exploration of the hurricane scalar field data. Implemented streamline generation from seed locations in 3D tornado vector field data using bidirectional RK4 integration.

VTKPythonipywidgets