I'm a CSE student at BRAC University working toward a PhD in software engineering, machine learning, and NLP: building systems that detect what shouldn't be trusted: fraudulent text, malicious packages, and silently drifting APIs. Published in Array (Elsevier, Q1); several more papers in review.
Research interests: trustworthy machine learning and NLP for security-critical detection problems: fraudulent text and job postings, malicious software packages and IDE extensions, silent API breaking changes, and LLM reliability across languages. My published work (Array, Q1) sits at exactly this intersection, and it's the throughline across everything else I'm working on.
A pattern that runs through all of it: I treat my own results as adversarial. Before anything goes to a reviewer, I run multiple rounds of self-critique specifically hunting for train/test leakage, confounds, and claims that don't survive a second look, and I disclose what I find, including when it means walking back a headline result. That habit has caught real leakage bugs and inflated numbers across several of my own submissions before they became someone else's problem to find.
I'm a CSE student at BRAC University, Dhaka, Bangladesh. Alongside the research, I've also built and shipped software independently: 3D web platforms, AI assistants, OpenGL games, and hardware robots, including founding MeowMatchBD, a platform connecting cat lovers with adoptable cats across Bangladesh.
Technologies I work with:
Most of my work sits at the same junction: using machine learning and NLP to detect things that are designed to look trustworthy but aren't: fraudulent job postings, malicious software packages, compromised IDE extensions, AI-generated text passing as human, and APIs that silently change behavior without breaking anything loudly enough to notice. The common thread isn't the application domain, it's the failure mode: systems that look correct under a naive evaluation and only reveal their flaws under adversarial scrutiny.
That's also how I evaluate my own work. Every one of these projects has gone through multiple rounds of self-directed adversarial review before ever reaching a peer reviewer, hunting specifically for train/test leakage, confounded baselines, and claims that don't survive a harder look. This has repeatedly caught real problems in my own results: near-duplicate leakage inflating a malware classifier's reported accuracy, a headline finding that reversed once evaluated with proper statistical correction, an implementation that quietly never ran the correction it claimed to apply. I'd rather find these before submission than after.
What I want to spend a PhD on is making that kind of self-correcting rigor less dependent on any one researcher noticing by hand: better evaluation protocols, more honest baselines, and detection systems for software engineering and ML that are held to the same adversarial standard they're meant to enforce on their targets.


Whether you have a question, a project idea, or just want to say hi, my inbox is always open. I'll do my best to get back to you!
Say Hello