Research projects
Experiments I designed, built and ran myself.
Odhikar (অধিকার) Paralegal Assistant
Local RAG
Odhikar enables legal-aid clients, including those with low literacy, to describe their situations naturally in Bangla through voice-first interaction, progressively transforming their narratives into structured, actionable case information with safety escalation for urgent cases. It combines domain-specific LLM adaptation and local inference for privacy-sensitive deployments, while ensuring human review before complaint generation.
Gemeni ModelsLangGraphRAGChromaDBLlama 3.2
GRPO from Scratch
RL fine-tuning of an LLM
What does a language model learn when the grader that pays its reward is more lenient than the real objective? I implemented GRPO from scratch and fine-tuned Qwen2.5-0.5B on GSM8K four times, changing only the reward grader. Trained on the strict grader, test accuracy rose from 9.1% to 52.3%. Trained on lenient graders, the model got better at the arithmetic but stopped writing the required answer tag, so its strict accuracy fell to about 0%. A small format bonus was the worst: within ten steps the model stopped reasoning and wrote only a tag with a guessed number.
GRPOLoRAQwen2.5-0.5BGSM8K
Multimodal Semantic IDs
Generative recommendation
A generative recommender gives every product a short code and generates the code of the next product a user will buy. I built one in the style of TIGER on Amazon Reviews 2023 and compared four ways of building the codes from product text and images. Late fusion beat text-only codes in all four settings, for example NDCG@10 from 0.0294 to 0.0332, while early fusion did not help. Two results went against me: no generative model retrieved a single cold item, and a plain SASRec fed the same embeddings beat every generative model.
RQ-VAESentence-T5SigLIPSASRec
Brain Tumor Detection in MRI
Detector comparison
I compared a one-stage detector, a two-stage detector and a transformer on 5,249 MRI slices with four tumor classes, all under one data pipeline and one COCO evaluation. YOLOv8m reached 0.781 mAP@0.5:0.95, against 0.562 for Faster R-CNN and 0.508 for DETR. Faster R-CNN is close to YOLOv8 at IoU 0.5 and far behind at IoU 0.75: it finds the tumors and draws loose boxes.
YOLOv8Faster R-CNNDETRCOCO evaluation
Smart Research Assistant
Local RAG
A question-answering system over research papers that runs entirely on my own machine. I built it from separate components so that I understood each stage. Academic PDFs end in long reference lists that match many queries and explain nothing, so my chunker measures citation-pattern density and keeps those chunks out of the index. Every answer lists its source files and similarity scores.
RAGMiniLMChromaDBLlama 3.2
Earlier machine learning work
Smaller projects from when I was learning the field.
Object Detection on PASCAL VOC
Transfer learning
I fine-tuned a COCO-pretrained Faster R-CNN with a ResNet-50 backbone on PASCAL VOC 2012, replacing the detection head for the 20 VOC classes and adding flip, brightness and contrast augmentation.
PyTorchFaster R-CNNOpenCVStreamlit
Image Classification on CIFAR-10
CNN from scratch
I wrote a custom convolutional network with the Keras functional API, using batch normalisation, max-pooling and dropout, and trained it on CIFAR-10.
KerasTensorFlowStreamlit
Character-Level Language Model
RNN
I trained a recurrent network to predict the next character. It then generates text in the style of its training data.
PythonNumPyRNNStreamlit
Software engineering
Open-source backend work from my years as a software engineer.
Microservice
Distributed systems
A microservices architecture I built on .NET Core for cloud-native applications.
.NET CoreC#Microservices
Mediator CQRS Boilerplate
Architecture
My starting point for the mediator design pattern in ASP.NET Core, with custom middleware that handles responses in one place.
ASP.NET CoreMediatorCQRS
Push Notifications with Server-Sent Events
Real-time
I implemented real-time push notifications in ASP.NET Core using Server-Sent Events.
ASP.NET CoreServer-Sent Events
Online Chat Application
Real-time
I built a one-to-one chat with registration, login and message history, using Angular, ASP.NET Core, SignalR and SQL Server.
AngularASP.NET CoreSignalRSQL Server