Open to backend & AI engineering roles Dhaka

Ajoy Sarker

Backend engineer for regulated money and production AI.

Software Engineer II at Brain Station 23. I own fintech APIs for a mutual fund platform and a securities platform: KYC pipelines, maker–checker approvals, audit trails. I also ship the GenAI on top of them, including Gemini Vision document extraction and LangGraph agents.

POST /v1/investors/kyc 201
  1. http.request 1840ms
  2. auth.jwt.verify 18ms
  3. rbac.check role=maker 12ms
  4. ocr.gemini key-1 → 429 160ms
  5. ocr.gemini key-2 failover 1140ms
  6. schema.validate 31ms
  7. enrich.bank_branch 92ms
  8. pg.tx kyc_draft 110ms
  9. approval.enqueue → checker 54ms
  10. audit.append 70ms
10 spans · 1 retry · 0 unaudited writes Illustrative trace of the KYC pipeline I built
API uptime
99.9%
Fintech REST APIs I own: thousands of daily requests
p95 latency
−40%
PostgreSQL / MongoDB query tuning + Redis caching
Test coverage
85%+
Jest unit & integration, Playwright end-to-end
Deploy time
−50%
Dockerised CI/CD pipelines
Prod defects
−30%
Grafana + Sentry alerting catching regressions early

Where I ship

Software Engineer II

Brain Station 23 PLC · Dhaka

— Present

Regulated platforms

  • Own production REST APIs in Python and NestJS for fintech clients at 99.9% uptime, serving thousands of requests a day.
  • Built maker–checker approval workflows, RBAC and audit logging for regulated financial systems. Atomic locking removed end-of-day race conditions.
  • Integrated WhatsApp Business API, payment gateways and OTP / email / SMS providers, with resilient retry logic.

GenAI in production

  • Shipped a Gemini Vision KYC OCR pipeline with multi-key failover and schema-constrained extraction for ID and tax documents.
  • Built LangGraph agentic workflows with structured outputs and safety guardrails. This work won 1st place at the company’s 2025 AI hackathon.

Reliability & quality

  • Cut p95 latency 40% by tuning PostgreSQL and MongoDB queries and adding Redis caching.
  • Raised test coverage to 85%+, cut deploy time 50% with Docker CI/CD, and added Grafana and Sentry alerting. Production defects fell 30%.

Python · TypeScript · NestJS · FastAPI · PostgreSQL · MongoDB · Redis · BullMQ · Gemini · LangGraph · Docker · AWS

Selected systems, in depth

Each case covers three things: what the system had to guarantee, what I built, and the parts that were actually hard.

01

Shanta AML — Mutual Fund Investor Platform

Backend lead Regulated fintech · in production Python · NestJS · PostgreSQL · Gemini Vision

clientInvestor uploads NID / TIN
ocrGemini Vision key-1 429key-2 ✓
guardSchema-constrained extraction
enrichBank / branch lookup
maker → checkerTwo-person approval
postgresInvestor ledger
audit.append on every state transition · RBAC on every endpoint · EOD job holds an atomic lock

Context

An asset manager needed the whole investor lifecycle online: onboarding and KYC, unit purchases and surrenders, CRM, accounting and reporting. Every action that moves money needs a second pair of eyes and a trail a regulator can read.

What I built

  • I led the backend for the investor lifecycle, unit movements, surrenders, CRM, accounting and reporting.
  • A maker–checker approval workflow with RBAC and audit-grade logging.
  • A Gemini Vision KYC OCR pipeline for ID and tax documents, with bank/branch enrichment.

The hard parts

  • End-of-day races. EOD processing could interleave with in-flight approvals. An atomic lock makes them mutually exclusive.
  • One API key is one point of failure. OCR rotates across a key pool, so a single quota error doesn’t fail onboarding.
  • LLM output is untrusted input. Extraction is constrained to a schema and validated before it can touch a record.
03

BD Document Parser

Open source Author React · TypeScript · Gemini 2.5 Flash Lite

browserNID · BO · TIN · bank docs
gemini 2.5 flash liteVision extraction
schemaTyped, constrained JSON
outputStructured fields
no backend zero hosting cost · ~1–2 s per document

Context

Bangladeshi KYC still runs on people retyping national ID, BO, TIN and bank documents. The extraction pattern I’d proven in production was useful to anyone doing onboarding.

What I built

  • A 100% client-side parser for four Bangladeshi document types.
  • It reuses the schema-constrained extraction approach from my production KYC pipeline.
  • Tuned for 1–2 second responses on Gemini 2.5 Flash Lite.

Why it matters

Teams can adopt it with no server, no hosting bill and no data store. It brings the production pattern to the community without exposing any client code.

04

Lead Creator 23: WhatsApp-to-CRM Lead Automation

Backend engineer Production AI pipeline NestJS · MongoDB · Gemini · OpenAI · Deepgram · WhatsApp Cloud API

whatsapp webhookCard photo · voice note · text
route by media image → multi-model OCRaudio → Deepgram
llmStructured lead extraction
confirmValidated in-chat
crmLead + attachments
whitelist verified webhooks · allow-listed senders · Sentry on every failure path

Context

Sales teams collect leads as business-card photos and voice notes, then retype them into a CRM. The goal was to capture a lead straight from WhatsApp, the app they already use.

What I built

  • An event-driven WhatsApp webhook pipeline that handles text, image, audio and interactive messages.
  • Multi-model OCR (Gemini Vision with OCR fallbacks) and real-time Deepgram voice transcription.
  • LLM extraction into a validated lead schema, with a confirmation step and phone-number whitelisting.

Outcome

  • 90%+ lead-data accuracy from combined AI and OCR processing.
  • 80% less manual data entry.
  • Leads created from WhatsApp in under 30 seconds.

More production work

  • Shanta EasyX Brokerage platform for the Bangladesh capital market. I built the transaction APIs, real-time WebSocket notifications and a PDF portfolio-report microservice, with 80%+ test coverage. With Redis caching, the platform reached 50% faster trade execution. NestJS · TypeORM · PostgreSQL · Redis · WebSocket Case study Live · login
  • Quiet Lawn Multi-tenant AI workflow SaaS: tenant isolation, RBAC, vector-embedding job matching, auth / OTP / media APIs. NestJS · TypeORM · PostgreSQL · AWS Private
  • Customisable Chat Widget Real-time chat backend with hybrid dense + keyword retrieval, JWT auth, rate limiting, DOMPurify XSS protection and OpenAPI docs. NestJS · MongoDB · pgvector · WebSocket GitHub
  • Longshot Cameras Multi-role platform with dynamic RBAC, JWT refresh-token rotation and a MongoDB aggregation-driven admin panel. Next.js · NestJS · MongoDB Live

Money systems fail loudly.
AI systems fail quietly.

  1. Model output is untrusted input

    Every LLM response gets a schema, validation and a human checkpoint before it touches a record.

  2. Every state change leaves a trail

    Maker–checker, RBAC and append-only audit logs aren’t compliance overhead. They’re how you debug money.

  3. Design for the provider being down

    Key pools, retries with backoff, idempotent handlers. Third-party APIs will fail, and the system still has to work.

  4. Not observed, not shipped

    Dashboards, alerts and tests go out with the feature, not after the incident.

Applied ML, evaluated honestly

My graduate research in low-resource NLP and applied ML is where I learned to benchmark, ablate and report significance. I apply the same discipline to evaluating LLM features.

  • 2025

    Abusive Language Detection in Bengali Social Media: A Multi-Modal Ensemble Approach

    Extended BD-SHS with 15 abusive-language categories. Stacked LinearSVC, LR and XGBoost over word- and character-level TF-IDF plus linguistic features. 91.2% accuracy, 90.7% F1, a 1.9-point gain over the prior best (p < 0.001).

    A. Sarker, Dr. M. Z. Rahman · Jahangirnagar University · Manuscript

    PDF
  • 2025

    Emotion Detection from EEG Signals Using Multiple ML Classifiers

    Classifying EEG signals into positive, negative and neutral emotional states, for mental-health monitoring and human–computer interaction.

    A. Sarker, Dr. I. Islam, S. N. Riya · Jahangirnagar University · Manuscript

    PDF
  • 2023

    Road Accident Severity Analysis and Prediction Using Machine Learning

    Twenty years (2001–2020) of police records across all 64 districts of Bangladesh, collected with BUET’s Accident Research Institute. CatBoost was the best classifier (F1 0.648).

    A. Sarker et al. · Dept. of CSE, Jahangirnagar University · Manuscript

    PDF

Google Scholar Hugging Face

Proof under pressure

  • 2025 1st place, Brain Station 23 AI Engineering Hackathon Internal winner · 11th of 90 teams overall
  • 2024 National Science & Technology Fellowship Ministry of Science and Technology, Bangladesh
  • 2019–24 University Supplementary Scholarship, 4× recipient Jahangirnagar University, for academic performance
  • 2022 29th of 500+ teams, CodeSamurai National Hackathon University of Dhaka · team JU_MBH106

Competitive programming since 2019 · 2,000+ problems

Tools I’ve run in production

Backend
Python, TypeScript, Node.js, NestJS, FastAPI, REST, BullMQ, WebSocket
AI / LLM
Gemini Vision, OpenAI API, LangGraph, LangChain, RAG, pgvector, Typesense
Data
PostgreSQL, MongoDB, Redis, MySQL, DynamoDB
Fintech
KYC / AML, maker–checker workflows, audit logging, fund accounting
Security
RBAC, JWT & refresh rotation, OAuth2, OTP, secrets management, rate limiting
Infra
AWS (Lambda, S3, EC2), Docker, GitHub Actions, Nginx
Observability & QA
Grafana, Prometheus, Sentry, Datadog, Jest, Playwright
Frontend
React, Next.js, Tailwind CSS, TanStack Query
Portrait of Ajoy Sarker

Computer scientist by training, backend engineer by trade

I trained in Computer Science at Jahangirnagar University and sharpened my problem-solving across 2,000+ competitive programming problems. Now I build systems for financial clients at Brain Station 23. I’m most useful when a service needs an owner from schema design through deployment, testing and on-call.

  • M.Sc. Computer Science & Engineering Jahangirnagar University · 2024–2025 · CGPA 3.78 / 4.00
  • B.Sc. Computer Science & Engineering Jahangirnagar University · 2019–2024 · CGPA 3.68 / 4.00

§09 · Contact

Let’s build something that holds.

I’m open to backend, fintech and GenAI engineering roles, full-time or contract, and to serious collaborations on production AI.

↑↓ move ↵ select esc close