
A research paper on detecting drones from their radar signatures. A ResNet18, fine-tuned from ImageNet weights, classifies micro-Doppler spectrograms from the Open Radar Dataset, which has only 50 UAV tracks out of 350. To make up for the small, unbalanced dataset, the model is pretrained on 5,000 synthetic radar samples generated with RadarSimPy and trained with UAV augmentation and focal loss, raising the F1 score from 40.2% to 52.77%.

Find Waldo in the browser. The React client runs the game and page routing with React Router. An Express server backed by Prisma stores the game data, and Multer handles image uploads.

Classifies landmine types from the UCI Land Mines dataset, which pairs sensor voltage and height readings with soil type. The model is evaluated with 10-fold cross-validation, and the repo includes the confusion matrix and training-history plots.

Create, read, update and delete blog posts through a RESTful Express API. Posts are stored in a SQL database through Prisma, and writes are protected with JWT auth tokens issued by Passport.js. Next up: a frontend overhaul and a move from JWT to OAuth.

The site you're on: a statically exported Next.js site. A 3D light bulb built with React Three Fiber switches the whole site between light and dark. Blog posts are Markdown files rendered at build time, and every push to main deploys to GitHub Pages.