Projects

Things I built to understand them.

Most of these started as a gap in my own understanding. Each one is a short case study: why I built it, what I actually did, and what it taught me — with a link to the code.

Diffusion ModelGenerative models · 2023

A from-scratch implementation and experimentation sandbox for denoising diffusion models in PyTorch — forward noising, the reverse denoiser, and the sampling loop, derived by hand.

Fair Image Generation of Minority GroupsCausal ML · Generative models · 2023

A research project asking whether a structural causal model in the latent space of a bidirectional GAN can disentangle protected attributes well enough to generate minority-group images that fix a biased training set.

Generative Models, Side by SideGenerative models · 2022

A single reference implementation of GANs, VAEs, and normalizing flows built side by side to compare how each family trades off sample quality, likelihoods, and training stability.

Vision Transformer, from ScratchComputer vision · 2022

A from-scratch Vision Transformer for image classification, built to understand patch embeddings, attention over image patches, and exactly how much data attention needs to beat a convolutional baseline.

Transformer from ScratchNLP · Architectures · 2022

An implementation of the Transformer architecture from first principles, with experimentation on sequence tasks, built to internalise attention rather than recite it.

Co-Authorship Networkmost-starredNetwork science · Data · 2021

A network-science study of academic collaboration built from real DBLP bibliographic data: graph construction, centrality, and community detection used to study how a department's research reputation grew over time.