Skip to content
View rafiimam's full-sized avatar

Block or report rafiimam

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rafiimam/README.md

MD. Rafi Imam

Software Development Officer (AI & Automation) at Jamuna Bank PLC, Dhaka Production AI for banking eKYC · Robust / parameter-efficient ML researcher · Fall 2027 PhD applicant in AI/ML

I build systems that have to work in production, and I study why ML models fail when real-world inputs are noisy. At Jamuna Bank I work on digital onboarding, identity verification, payments middleware, and internal platforms. In my independent research I work on robust, parameter-efficient fine-tuning.

Public repos here are sanitized samples — they show design and engineering approach, not production code, models, or customer data.

Open to

  • PhD, Fall 2027 (US) — trustworthy AI, robust and efficient ML, PEFT, AI safety
  • Remote, part-time — AI/ML engineering, model evaluation, computer vision, and full-stack software engineering (~15 hrs/week, evenings Asia/Dhaka)
  • Banking / fintech — Software/AI roles building on production eKYC and core-banking integration work

Production highlight: face liveness & eKYC at Jamuna Bank

Built a production face liveness / presentation attack detection (PAD) system for digital account opening:

  • NID/document-to-live face matching (ArcFace), Swin-B spatial PAD, 3D ResNet-18 temporal liveness, and physics-informed screen/replay detection
  • Decoupled PyTorch CUDA inference (FastAPI) from an asyncio gateway — latency cut from over 5s to ~800ms
  • Locked-set results: FAR 0.00% (0/33 replay attacks), FRR 3.125% (1/32 live)
  • Also: NID OCR, Kafka-based event pipelines for transaction risk flags / AML checks / deduplication, and payment & core-banking middleware

→ Start here: jbl-liveness-verification · banking-engineering-samples

Research highlight: GateConcat — noise-robust PEFT

A controlled diagnostic study (LayoutLMv3 + LoRA on FUNSD, matched 5-seed protocol) of PEFT under synthetic document noise:

  • GateConcat: +1.51 pp noisy macro-F1 over LoRA under 70% character substitution (p=0.003) and +2.30 pp under 70% OCR confusion (p=0.002)
  • Honest limits, reported in the repo: SALLoRA (hand-crafted weighting/masking) did not beat LoRA; a constant-gate capacity control captures part of the GateConcat gain (p=0.21 vs that control); the learned gate does not detect corruption (AUC ~0.52); gains do not transfer to layout corruption
  • I value this kind of result — capacity-matched controls and negative results included, not just headline gains

→ gateconcat-peft

Research interests: parameter-efficient fine-tuning, robust model adaptation, trustworthy / responsible AI, uncertainty quantification, federated learning, document understanding, NLP, computer vision, multimodal robustness under structured corruption

Publications: 4 co-authored papers at IEEE ICCIT 2023 — suicidal thought detection with NLP, privacy-preserving federated learning for lung cancer classification, PCOS detection with ML, and YOLOv8 object detection for self-driving cars.

Selected work

Repo What it shows
gateconcat-peft Research code + full experiment artifacts for the PEFT robustness study above
jbl-liveness-verification Liveness / PAD design for banking onboarding (sanitized)
jbl-face-match NID-to-live face matching design (sanitized)
banking-engineering-samples Index of sanitized Jamuna Bank systems: middleware, eKYC ops, payments, internal tools
Personal-website My portfolio site — rafiimam.github.io/Personal-website
agent-capture-bench Benchmark for AI-agent recorder capture fidelity vs independent ground truth

Stack

  • Languages: Python, TypeScript, JavaScript, C/C++, SQL
  • AI/ML: PyTorch, TensorFlow, CUDA, ArcFace, LayoutLMv3, LoRA/PEFT, OpenCV
  • Backend: FastAPI, Node.js, NestJS, ASP.NET Core, REST, WebSockets, asyncio
  • Frontend / mobile: React, React Native, Next.js
  • Data & infra: Apache Kafka, PostgreSQL (pgvector), MongoDB, SQL Server, Docker, Kubernetes, Linux, Firebase

Background

  • B.Sc. in Electrical & Computer Engineering, RUET (2023) — RUET Merit Scholarship 2020, 2021, 2022
  • IELTS Academic 7.0 · GRE 304 (Quant 164)
  • At Jamuna Bank PLC since December 2023

Contact

Pinned Loading

  1. gateconcat-peft gateconcat-peft Public

    Python

  2. agent-capture-bench agent-capture-bench Public

    Ground-truth benchmark for process capture on Linux — an independent eBPF oracle scores tracers, audit pipelines, and agent recorders against what the kernel actually executed

    Python 1

  3. banking-engineering-samples banking-engineering-samples Public

    Sanitized samples of systems built at Jamuna Bank PLC

  4. jbl-face-match jbl-face-match Public

    Sanitized sample of a Jamuna Bank PLC system. Not production code.

  5. jbl-liveness-verification jbl-liveness-verification Public

    Sanitized sample of a Jamuna Bank PLC system. Not production code.

  6. jbl-pulse jbl-pulse Public

    Sanitized sample of a Jamuna Bank PLC system. Not production code.