Skip to content
View moon21bd's full-sized avatar
🙃
🙃
  • Dotlines Technologies Ltd.
  • Dhaka, Bangladesh
  • LinkedIn in/moon21

Block or report moon21bd

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
moon21bd/README.md

Header

Senior Backend Engineer — Payments, Fintech & Telecom

Profile views Followers

github contribution grid snake animation

Raqibul Hasan Moon

Senior Software Engineer, 10 years, Dhaka. Backend systems for payments, telecom and fintech — the kind where a duplicated request costs money and a missed callback becomes a support ticket.

Currently at Dotlines, working on the multi-provider payment layer behind a cross-border recharge and wallet platform (300K+ registered users, 10,000+ daily active). Mostly PHP/Laravel and Node.js, with React and Vue on the front end, and enough Python to keep the pipelines honest.

🌱 Currently picking up: AI/ML, LLM — outside production so far, learning in side projects.

LinkedIn Email Open to work

Stack

PHP Laravel Node.js Express NestJS Next.js JavaScript TypeScript React Vue.js GraphQL MySQL Redis Docker AWS Git Python


Systems I've built

System What it does Scale / impact
Cross-border recharge & wallet platform Recharge, bill payment and wallet for migrant communities; I own the core transaction-processing layer 300K+ registered · 10,000+ daily active · 99.9% uptime
Multi-provider payment abstraction 9 payment providers behind one interface — automatic failover, exponential-backoff retry, dead-letter queues Transaction success 91% → 97.5%
Cross-border remittance integration Built end to end: cash-in, wallet funding, earning reports, transaction history $2M+ monthly volume · +25% platform revenue
Duplicate-request detection Redis SHA-256 request fingerprinting with configurable TTL ~5,000 duplicate charges/month prevented · chargebacks −45%
Automated refund pipeline Idempotent refunds with wallet auto-crediting Customer complaints −70% · 40+ hours/month of manual work removed
Digital wallet (Laos) Wallet transfers, agent commissions, subscription billing, eKYC with JWE encryption 50,000+ transactions in first quarter
Real-time quiz platform Timed gameplay, Redis leaderboards, queue-driven reward payouts 5,000+ concurrent users · 99.5% uptime · zero payment failures
Third-party integration layer Telecom, banking, payment and utility APIs with retry logic and full reconciliation 100+ integrations

The repositories below

Most of my work is closed-source, so these are generalised reference implementations: the real architecture, control flow and data model, with every employer, vendor and customer identifier removed. Each one has a README and an ARCHITECTURE.md explaining the design decisions and their trade-offs — that document is usually the more interesting half.

Commit dates are backdated to when the original work was done. Each commit message says so plainly.

Payments & fintech

multi-provider-order-orchestrator Queue-driven orchestration across providers — priority failover, idempotent references, webhook re-verification, lifecycle tracing with credential redaction. Lumen
mobile-wallet-backend Three-level transaction limit engine with scheduled resets, staged KYC, JWE with zero-downtime key rotation. Laravel
usage-balance-metering-service Prepaid metering — settle-after-delivery, min(actual, reserved), idempotent settlement flags. Laravel
invoice-generation-service Invoicing — staged recurring-schedule edits, payment callback as the authoritative event. Laravel
payment-gateway-platform-2018 Where this started: multi-PSP gateway, module per processor, reconciliation sweep for lost callbacks. CodeIgniter, 2018

Platform & infrastructure

multi-mode-request-api One pipeline as sync / async-callback / sandbox; duplicate suppression via a single atomic SET NX EX. Node/Express + Sequelize
modular-domain-composer Modular-monolith API gateway — JWE payloads with per-client keys, attribute-level RBAC. Node/Express
iot-telemetry-platform Device telemetry — dual ingestion paths, archive-before-parse, replayable backlog, rebuildable rollups. Laravel
scheduled-export-pipeline Multi-server export — pre-flight checks, correct CSV quoting, idempotent backfill. Bash + MySQL + SMB
multi-tenant-commerce-api Tenancy as middleware, so scoping can't be omitted by a forgotten filter. Laravel

Products & tooling

support-ticket-management-system Scheduled SLA engine that escalates and reassigns on breach, per-transition audit timeline. Laravel + Vue
tournament-competition-engine Absolute per-question windows so every player answers in the same wall-clock slot. Laravel
laravel-crud-scaffold-toolkit One field definition feeds model, migration, request, controller, tests and Vue views. Laravel
multi-channel-notification-dispatcher Per-token delivery tracking and honest partial-send status. Laravel
node-microservice-scaffold Filesystem-discovered models and schemas, one error type, one response envelope. Node/Express

A few things I've come to believe

A callback is a hint, not a fact. If a provider doesn't sign its webhooks, the callback only means "go ask them what happened" — never "this succeeded."

Derived data should be rebuildable. Daily summaries, balances, counters — if you can only append to them, they're permanently wrong the first time something backfills.

Reconcile for silence. The failure that hurts is the one that produces no error: a callback that never came, a ticket that was never created. Those need a sweep looking for them, not an alert waiting for them.

Write down why, not what. The ARCHITECTURE.md in each repo explains the trade-off that was accepted. Six months later that's the only part anyone needs.


GitHub activity

Streak stats


Open to senior backend and technical lead roles — remote or Dhaka.

Footer

Pinned Loading

  1. iot-telemetry-platform iot-telemetry-platform Public

    Device telemetry pipeline — dual ingestion paths, archive-before-parse, replayable backlog, rebuildable rollups, alert→ticket reconciliation (Laravel)

    PHP

  2. rag-chatbot-nodejs rag-chatbot-nodejs Public

    RAG chatbot: ask questions about your PDFs. Node.js, Express, Postgres/pgvector, Gemini embeddings, Groq inference.

    JavaScript

  3. mobile-wallet-backend mobile-wallet-backend Public

    E-wallet backend — three-level transaction limit engine (system/user/activity × daily/monthly/yearly) with scheduled resets, staged KYC, JWE with zero-downtime key rotation (Laravel)

    PHP

  4. multi-mode-request-api multi-mode-request-api Public

    One fulfilment pipeline exposed as sync, async-with-callback and sandbox modes — Redis duplicate suppression via a single atomic SET NX EX (Node/Express + Sequelize)

    JavaScript

  5. multi-provider-order-orchestrator multi-provider-order-orchestrator Public

    Queue-driven order orchestration across multiple providers — priority failover, idempotent references, webhook re-verification, lifecycle tracing with credential redaction (Lumen/PHP)

    PHP

  6. multi-tenant-commerce-api multi-tenant-commerce-api Public

    Multi-tenancy as middleware so tenant scoping cannot be omitted by a forgotten filter, with per-tenant audit logging (Laravel)

    PHP