Computational Social Science
Top features for Economics and Public Finance policy classification across Congresses

How Does Congress Actually Work? Data from 15K Bills

Only 2% of congressional bills become law. We analyze 15K bills from 2021-2023 to understand what drives legislative success and failure.

Scientific Computing
Molecular structure alignment showing protein conformations and RMSD calculation

Kabsch Algorithm: NumPy, PyTorch, TensorFlow, and JAX

Learn to align molecular structures and point clouds using the Kabsch algorithm, with differentiable implementations for modern ML frameworks.

Molecular Simulation
Energy conservation plot showing kinetic, potential, and total energy oscillations for a copper adatom diffusion simulation

Automated Adatom Diffusion Workflow

A LAMMPS and EAM workflow simulating adatom diffusion on copper and platinum FCC surfaces, with a Python layer for energy and trajectory diagnostics.

Molecular Simulation
Molecular visualization of a methionine dipeptide structure from MD simulation

Mini-Protein Trajectory Generation

An automated GROMACS pipeline generating ML-ready molecular dynamics datasets: capped dipeptides across nine residues, with atomic forces at 0.1 ps resolution.

Computational Social Science
Diagram of the Universal Message schema showing fields like ID, Text, Author, and Reply Sets that normalize data across platforms

Look, Don't Tweet: Unified Data Models for Social NLP

Bachelor’s thesis introducing PyConversations, an open-source library that normalizes over 308 million posts from Twitter, Reddit, Facebook, and 4chan into a unified data model for cross-platform social media research.

Natural Language Processing
3D visualization of word embeddings showing semantic relationships in vector space

Word Embeddings in NLP: An Introduction

Learn how computers understand words through mathematical vectors, from simple counting methods to contextual embeddings that power modern NLP.

Scientific Computing
Flowchart diagram showing the recursive backtracking algorithm for constraint satisfaction in schedule generation

Term Schedule Optimizer

A scraper and recursive backtracking search over Drexel’s Term Master Schedule, enumerating every course schedule that satisfies a set of hard and soft constraints.

Creative Work
Rubik's cube solver interface

Rubik's Cube Player - Drexel Music Hackathon 2017

A project I built with Emmanuel Espino and Jason Zogheb at the 2017 Drexel Music Hackathon. It uses computer vision to read a Rubik’s cube and generates music based on how solved each face is.

Creative Work
Rubik's Cube sonification hackathon project showing a Raspberry Pi setup with webcam reading cube colors and Python code on screen

Rubik's Cube Sonification

A 24-hour hackathon build that scans a Rubik’s cube by webcam and sonifies it, synthesizing PCM audio byte-by-byte with equal-temperament intervals.