
Cost-Effective Spin Coater
A benchtop spin coater with closed-loop speed and acceleration control, built from catalogue parts for about ₹3,000.
Arduino · Embedded C · PID control · Gain scheduling
Firmware, tools and applications — projects where the hard part was a program behaving predictably.

A 16-bit pipelined CPU in VHDL: eight registers, three instruction formats, six stages, and the forwarding and interlock logic needed to keep them fed.
VHDL · Digital design · Computer architecture

Using pretrained language models as a supervisory signal for vision embeddings — a multi-stage schedule that fine-tunes intermediate layers rather than only the head.
PyTorch · Deep metric learning · Vision-language models · ResNet-50

Turning Maximum Concept Matching from a zero-shot method into a few-shot one with prompt tuning, so a model can tell when an input is nothing it was trained on.
PyTorch · CLIP · Prompt tuning · Maximum Concept Matching

Read the surroundings from a camera, synthesise a pattern that disappears into them — the machine-learning half of a friend’s thesis on a sheet that could change its own skin.
Python · OpenCV · PyTorch · pix2pix

Two deliberately lopsided models — one that never calls a positive wrongly, one that never misses a positive — and a meta-model that reads both.
Python · XGBoost · TensorFlow · Ensemble methods

Retraining SSD-MobileNet detectors on small custom datasets, and measuring how much of the feature extractor is worth freezing — the answer was the first four blocks.
TensorFlow · Object Detection API · Keras · MobileNet

Two ultrasonic sensors in a doorway, an Arduino working out which way you walked, and a NodeMCU putting the room’s occupancy on the internet.
Arduino · NodeMCU · HC-SR04 · Adafruit IO

A differential-drive racing bot driven from a phone, on a motor driver board I laid out myself because the ready-made one was the wrong shape.
ATTINY2313A · L293D · Eagle · Bluetooth