01 About me
I’m a final-year Computer Science student at BRAC University, graduating January 2027, and an AI/ML and software engineer who likes to finish what I start: a working system, measured honestly, not a notebook that only runs on my machine.
Most of what’s below came out of the same habit — build the evaluation set before the clever part, implement the core idea from scratch to actually understand it, then compare it to the library everyone uses. I report the misses too: confidence intervals, refusals, and the baselines that beat me.
Outside of code: Bangla and English fluently, enough French to order a coffee, and I’m currently finishing a thesis on classifying brain MRI scans across four conditions.
02 Selected work
Retrieval · LLM evaluation · Bangla NLP
Ask about Bangladeshi law in Bangla, English or romanised Bangla and get an answer grounded in the statutes, every sentence cited to a section, or an honest refusal when the corpus has no answer. It runs free and fully on a laptop: embeddings, index and answering model are local, and the app checks its own settings before it tells you your question never leaves the machine.
- 90.7%right section in top 5
- 0.78MRR
- 100%citations point at real text
- 90.6%declines exactly when it should
- 52/52injection checks pass in CI
- Chosen by measurement: dense retrieval with section-reference resolution beat every BM25 fusion setting on 43,966 chunks, so that’s what is served.
- Guardrails: citation and verbatim-quote checks, language check, one corrective re-prompt, PII redaction before any model or log sees the question.
- Agent mode for multi-hop questions (search, get_section, follow_refs), OCR ingestion for scanned gazettes, paraphrase cache, SSE streaming UI.
86 held-out questions with 95% bootstrap intervals. 71.5% of cited sections are the right ones; lawyer-graded accuracy is not measured yet and the repo says so.
Pythonbge-m3BM25 + RRFcross-encoderOllamagemma4StarletteTesseract
Computer vision · from pixels up
An X-ray engine for films: give it a movie and it returns every cut and camera move, shot framing, who is on screen and talking, the colour palette, scene search in plain English, actor cutouts and a 3D fly-through. Every phase follows one rule: implement the core idea from scratch, then benchmark it against the production library.
classical CVCNNs · detection · tracking · 3D · OCR · CLIPproduction
MetricMine vs library
Shot-cut F1vs PySceneDetect
Shot-framing accuracy289 hand-labelled shots, vs teacher
Face AP50, dark framesown CenterNet vs YuNet
Scene search Recall@5own exact index vs FAISS Flat
Scene-type accuracyfine-tuned VideoMAE vs CLIP zero-shot
from scratchlibrary baseline
- 15 h → 5 h to process a 2-hour film on a 4-core CPU after rewriting the phase tools as a one-pass ONNX Runtime pipeline with cache and resume.
- Editor-ready exports: EDL, FCPXML and OpenTimelineIO cut lists, storyboard PDF, WebVTT subtitles and a highlights reel cut on the beat.
- FastAPI + React web app, Docker image, CI that runs the full pipeline on a clip. Face AP on WIDER FACE: 0.59 / 0.73 / 0.79 (Easy / Med / Hard).
PyTorchNumPyOpenCVCLIPSAM 2COLMAPONNX RuntimeFastAPIReact
LLM automation · backend reliability
Signed webhooks in, structured triage out. An LLM classifies each customer message (English, Bangla or a mix) by category, urgency and sentiment; the output is schema-constrained, validated and retried with feedback, and a summary lands in Slack. Every stage and every failure is stored.
Tally webhook→HMAC verify→dedupe eventId→202→LLM + JSON schema→Pydantic→Slack
- Fails closed: constant-time signature check on raw bytes before parsing; no secret configured means every request is rejected.
- Idempotent and replayable: unique event index survives racing retries; a replay command resends only what failed, without paying for a second classification.
- Retries only what can succeed (network, 429 with Retry-After, 5xx); CI on Python 3.11–3.13.
PythonFastAPISQLAlchemy 2PydanticOllamaSlackGitHub Actions
QA engineering · test automation
A full QA process run on one real application (Gitea, a Git service, in Docker): manual test design, UI, API, database, security, accessibility, visual and property-based automation, an AI test-case generator measured against the hand-written suite — and the framework itself is tested and mutation-tested.
- 589automated tests
- 12confirmed bugs found
- 96%framework branch coverage
- 95.9%mutation score
- 0%load-test errors, p95 180ms
- Property-based testing: Hypothesis generates hundreds of inputs per rule and a state machine fuzzes random issue workflows — this is how BUG-011 and BUG-012 were found.
- Reusable toolkit:
qualitylens init --url <app> writes a ready-to-run suite (API, browser, accessibility, CI, flaky tracking) for any web app, pip-installable with a Docker image.
- Cross-browser (Chromium/Firefox/WebKit), WCAG 2.1 AA checks on 9 screens, pixel-diff visual regression on 8, flaky tests quarantined with an owner and expiry instead of silently retried.
Weekly compatibility run against newer Gitea versions catches regressions before anyone asks; a trend dashboard tracks suite time, flakes and failures run over run.
PythonPlaywrightpytestHypothesisLocustaxe-coreDockerGitHub Actions
Networking · tooling · testing
An enterprise network for four sites (VLSM, OSPF + static routing, centralized DHCP, DNS, web and email) built in Cisco Packet Tracer, then turned into design-as-code: one spec file generates the addressing plan, every router config and the docs, and a routing simulator proves in CI that every subnet reaches every other.
- Verified against the as-built lab: tests parse the configs exported from Packet Tracer and diff them semantically with the generated ones.
- Found real bugs in the original hand-written design, including a link that was never advertised into OSPF; a regression test proves the gap returns without the fix.
- Strict mypy, Hypothesis property tests, ≥95% branch coverage, plus a zero-dependency web VLSM planner checked against the Python engine.
PythonCisco IOSOSPFVLSMHypothesismypyJavaScript
Brain MRI classification
Thesis · in progress
Medical imaging · research
Four-class MRI classifier (healthy, Alzheimer’s, Parkinson’s, multiple sclerosis). ImageNet-pretrained backbones adapted with masked-autoencoder pre-training; a healthy-reference memory feeds an interpretable head. Benchmarks are pending, so none are shown.
PyTorchtimmConvNeXtSwinMAE