I build projects around algorithms: a Pascal-S compiler, a CV matching tool, puzzle solvers, and neural networks implemented with NumPy. The repositories show the code; the notes explain what I was trying to understand.
NumPy implementation of CNN image classification and encoder-decoder image captioning, including LocallyConnected2D, LSTM cells, greedy and beam decoding, Grad-CAM, and tensor autograd.
Featured case studies
3 projects, with the decisions included.
These featured repositories cover neural networks, classical machine learning, and pattern matching. Scroll to compare their implementations, trade-offs, and results.
01 / Python
Overfitcheck - CNN & RNN from Scratch
NumPy implementation of CNN image classification and encoder-decoder image captioning, including LocallyConnected2D, LSTM cells, greedy and beam decoding, Grad-CAM, and tensor autograd.
Role
Individual implementation
Owned
Implemented the NumPy tensor autograd path, CNN layers, LSTM cells, decoding, and Grad-CAM tooling.
Approach
Kept the forward and backward passes explicit so the learning mechanics remain inspectable instead of hiding them behind a framework.
Hardest decision
Used one small tensor/autograd core for both image classification and image captioning.
Result
Two model tracks, two decoding modes, and an interpretable Grad-CAM output are documented in a runnable repository.
Python implementations of ID3, C4.5, and CART decision trees, SGD logistic regression, and OvA, OvO, and DAGSVM classifiers for student-dropout prediction.
Role
Individual implementation
Owned
Implemented the Decision Tree variants, SGD logistic regression, and SVM multiclass strategies from scratch.
Approach
Compared tree-based and margin-based classifiers through a shared student-dropout prediction task.
Hardest decision
Kept ID3, C4.5, CART, OvA, OvO, and DAGSVM as explicit implementations so their trade-offs can be compared.
Result
Three tree algorithms, one logistic model, and three SVM decision strategies are available in the repository.
The archive spans compilers, search tools, desktop applications, scheduling, and machine-learning implementations. Open a repository for the code; use the notes for course material and explanations.