Projects
Real-time visual decision system for a one-button platformer (~18 ms, ~87% accuracy). Combines a CNN backbone with dual heads for jump classification and press-duration regression.
Real-time 68-point facial landmark tracker built with OpenCV DNN face detection and Facemark LBF, extended with EMA smoothing and per-frame CSV logging for analysis.
End-to-end TinyML pipeline on RP2040 that classifies short audio into baby cry, doorbell, smoke alarm, background. 33-dim features (Goertzel bands + spectral stats), multinomial Logistic Regression (~87%), and C++ firmware with real-time z-score, softmax, and hysteresis FSM.
Edge AI pipeline for detecting workload-induced heating trends on the Pico: data logging firmware, Python logger, rolling OLS slope features, Logistic Regression, and C++ inference with oversampled ADC, slope buffering, and hysteresis/hold FSM.
USB-CDC command console simulating an industrial field device: internal temperature telemetry via ADC4, logging, and LED control. Designed to mimic SCADA-style interaction via a serial terminal (PuTTY @115200).
A side-by-side comparison between continuous and discrete latent spaces for compressing face images. Evaluates reconstruction quality, latent structure, and failure modes of VAE vs VQ-VAE architectures on the same dataset.
A conditional GAN trained on Berlin sketch drawings, generating class-specific sketches from a discrete label input. Includes improved training tricks, loss tracking, checkpointing and a small GUI for interactive sampling.
A local, privacy-friendly assistant that indexes PDFs, extracts key sections, and lets you query documents using a lightweight LLM. Includes chunking, similarity search and answer attribution with references to the source pages.
A GUI-based tool for inspecting large datasets, recording new examples, and visualizing labels or metadata. Designed for debugging ML agents and understanding real-world data distributions before training.
Streamlit app extracting dominant colors from images in real-time using k-means, CIE LAB space, and ΔE2000 distance. Designed for designers and ML preprocessing workflows.
Five hands-on regression projects on real-world datasets (salary, cars, wine, insurance, trips) using scikit-learn, focusing on feature engineering and metrics.
Compares Decision Tree, SVM, and KNN classifiers using Accuracy, Precision, Recall, and F1-score on the same dataset. Includes clear plots and metric tables.
Character-level Q-Learning agent that tries to reach target sentences. A playful RL/NLP crossover exploring reward design and state spaces.
Odd/even classification with wavelet features and unsupervised clustering — an intentionally over-engineered toy problem to highlight feature engineering.
Ongoing series of algorithm & data structure challenges — daily solutions and 5-day recap posts. Focus on patterns and reusable problem-solving techniques.
Minimal CLI shell to explore processes, files, and basic syscalls. Implements command parsing, forking, exec, and process waiting in pure C on POSIX systems.