Backend Engineer · Node.js / NestJS · TypeScript

Ilnur Umirbayev

I build backends that handle real money and real scale.

Production Node.js / NestJS services for marketplace, fintech and IoT platforms — payment integrations, event-driven microservices, PostgreSQL performance engineering and real-time systems. Author of uz-pay-sdk, an NPM-published SDK that unifies every major payment provider in Uzbekistan behind a single API.

Available for contracts Tashkent, Uzbekistan · UTC+5 Remote worldwide 5–6h overlap with CET · 3–4h with EST English · Russian · Uzbek
2.5+ yrsProduction Node.js / NestJS
5 providersUnified in one payment SDK
300K+Products served in production
40–60%API latency reduction delivered
01

About

I am a backend engineer focused on the unglamorous parts that decide whether a product survives contact with production: correct payment flows, idempotent webhooks, queues that recover from failure, indexes that keep queries fast at 300K+ rows, and deployments you can trust.

Over the last two and a half years I have shipped backend systems for an e-commerce marketplace (product import, catalog, search, supplier integrations), an enterprise monitoring and analytics platform, and an RFID retail inventory system with offline-first synchronisation. My default stack is NestJS + TypeScript + PostgreSQL + Redis + RabbitMQ, containerised with Docker and shipped through CI/CD with structured logging and alerting from day one.

I work autonomously in async, distributed teams: I write API contracts and OpenAPI docs before code, keep decisions documented, review pull requests, and communicate in writing so nobody has to wait for my timezone. I am open to contract and long-term remote roles — backend or backend-heavy full-stack.

02

Technical stack

Core

TypeScriptNode.jsNestJS Express.jsSQLBash

API & Architecture

RESTGraphQLgRPC WebSocketMicroservicesEvent-driven Clean architectureSOLIDIdempotency Webhooks

Data & Caching

PostgreSQLIndexingEXPLAIN ANALYZE MigrationsRedisMongoDB PrismaTypeORM

Messaging & Async

RabbitMQBullMQWorker queues DLQ & retriesCron jobsKafka (basic)

DevOps & Observability

DockerDocker ComposeGitHub Actions GitLab CIJenkinsNginx LinuxGrafanaPrometheus WinstonSentry

Quality & Security

JestSupertestSwagger / OpenAPI ESLintCode reviewJWT RBACOAuth 2.0Rate limiting
03

Selected case studies

uz-pay-sdk — Unified Payment SDK for Uzbekistan

Lead Backend Engineer & Maintainer · npm i uz-pay-sdk

Published on NPM

Problem

Every company in Uzbekistan that wants to accept payments integrates each provider separately: different auth schemes, different webhook formats, different error semantics. Teams spend weeks per provider and re-implement the same fragile logic in every project.

Architecture

  your app
     │  one consistent API surface
     ▼
┌──────────────────────────────────────────────┐
│                 uz-pay-sdk                   │
│   payments · webhooks · logging · analytics  │
├──────────────────────────────────────────────┤
│                driver registry               │
└───┬───────┬─────────┬─────────┬─────────┬────┘
    ▼       ▼         ▼         ▼         ▼
  Payme   Click    UzCard     Humo     Apelsin
    │       │         │         │         │
    └───────┴────┬────┴─────────┴─────────┘
                 ▼
    normalised webhook + idempotent handler
                 ▼
       Redis  ·  Winston (rotating logs)

Key technical decisions

  • Driver / adapter pattern — each provider is an isolated driver behind one interface, so a new provider is added without touching consumer code.
  • Normalised webhook layer with signature verification and idempotent handling, preventing duplicate charge processing on provider retries.
  • Redis-backed caching and analytics for transaction lookups and provider health.
  • Winston structured logging with rotation so production payment failures stay traceable.
  • Full Swagger / OpenAPI documentation plus Jest tests over the core payment flows.
  • Companion React Native SDK (@uz-pay/react-native-sdk) for in-app checkout.

Result

5 → 1Providers behind a single API
Weeks → hoursPayment integration time
v1.0.0Published and versioned on NPM

Allinsan Marketplace — Product & Integration Services

Backend Engineer · NestJS · PostgreSQL · Redis · RabbitMQ · Docker

300K+ products

Problem

A growing marketplace needed to import and synchronise hundreds of thousands of supplier products without blocking the API, and to keep catalog search fast as the dataset multiplied.

Architecture

 Taobao / supplier APIs
        │
        ▼
 ┌─────────────┐   publish    ┌──────────────┐   consume   ┌──────────────┐
 │ import svc  │ ───────────▶ │  RabbitMQ    │ ──────────▶ │ worker pool  │
 └─────────────┘  topic exch. │  DLQ + retry │             │ normalise    │
                              └──────────────┘             │ media, price │
                                                           └──────┬───────┘
   catalog / search svc ◀── Redis cache ◀── PostgreSQL ◀──────────┘
          (300K+ SKU, composite indexes)

What I did

  • Built microservices for product import, synchronisation, search and catalog operations.
  • Integrated the Taobao API with automatic job processing and a queue-based pipeline, replacing manual data entry with unattended imports.
  • Designed RabbitMQ event pipelines with retry and dead-letter strategies so one failing supplier never blocks the rest of the catalog.
  • Designed and tuned PostgreSQL schemas and indexes for a 300K+ product catalog, keeping filter and category queries fast under load.
  • Containerised all services with Docker and standardised CI/CD, improving deployment reliability and release cadence.
  • Added monitoring, structured logging and error tracking, cutting time-to-detect on production faults.

RIDO — RFID Retail Inventory Backend

Backend Engineer · NestJS · PostgreSQL · Redis · RBAC · ERP integration

2,000+ EPC events / request

Problem

Retail staff scan RFID tags in warehouses with unreliable connectivity. The backend had to ingest thousands of tag reads per request, survive offline periods without creating duplicate stock records, and stay auditable for compliance.

What I built

  • Mass EPC processing pipeline handling 2,000+ tag events per request with batched writes and deduplication.
  • Offline / online scan sessions with deduplication and idempotent replay, so scans recorded without network reconcile cleanly on reconnect.
  • Zonal inventory logic across store floor, stockroom and reserve, giving operations real-time stock accuracy instead of manual reconciliation.
  • Full audit logging and activity tracking over inventory mutations for compliance and dispute resolution.
  • RBAC-secured REST API and admin-panel backend, documented in Swagger for parallel mobile and web delivery.
  • Two-way ERP synchronisation via CSV, Excel and REST adapters, automating a previously manual data exchange.

TMK — Enterprise Operations Intelligence Platform

Full-Stack Engineer · NestJS · React · WebSocket · PostgreSQL · Texnologik Metallar Kombinati

Enterprise

What I built

  • A 19-module executive platform covering production plan-vs-fact, energy, sales, finance, HR, ESG, fleet and site cameras for a metallurgical combine operating across seven sites.
  • An integration layer normalising five external systems — Wialon GPS telematics, 1C:ZUP HR, Fusion Solar, an IP-camera platform and HET — each with live health, latency and error-rate monitoring so a broken upstream is visible in seconds rather than days.
  • Real-time fleet monitoring for 80 vehicles over WebSocket, with auto-reconnect and REST polling fallback so the operations view survives network failures.
  • Energy analytics across 20+ facilities aggregating electricity, gas and solar consumption into month-over-month and year-over-year comparisons.
  • Redis caching and composite PostgreSQL indexes that reduced average API response time by 40–60% across the platform.
04

Experience

Oct 2025 — Present · Contract

Backend Engineer (Node.js / NestJS)

RIDO / RFID Retail · Tashkent · Remote

  • Owned the backend for an RFID inventory platform: EPC tag management, scan sessions, zonal stock control, audit logging and ERP integration.
  • Delivered mass EPC processing of 2,000+ events per request and offline-first synchronisation with deduplication.

Nov 2024 — Present · Part-time contract

Full-Stack Engineer (NestJS · React)

Burgut Soft MCHJ · Tashkent

  • Reduced average API response time 40–60% via Redis caching, query optimisation and PostgreSQL indexing strategies.
  • Designed schemas and indexes for complex reporting workloads; built WebSocket real-time modules and MapLibre geolocation features.
  • Automated deployments with CI/CD pipelines, improving release frequency and reliability.

Feb 2024 — Present · Long-term contract, fully remote

Backend Engineer (Node.js / NestJS)

Allinsan Marketplace · Tashkent · Remote

  • Built microservices for product import, synchronisation, search and catalog serving 300K+ products.
  • Integrated the Taobao API with queue-based job processing; designed RabbitMQ pipelines with retry and DLQ handling.
  • Improved stability and deployment flow with Docker + CI/CD, monitoring, logging and error tracking.

Sep 2022 — Expected 2026

B.Sc. Software Engineering

Tashkent University of Information Technologies (TUIT)

  • Coursework: data structures & algorithms, databases, operating systems, computer networks, software architecture.
05

Open source & writing

uz-pay-sdk

Unified payment SDK for Uzbekistan — 5 providers, one API, webhooks, Redis analytics, OpenAPI docs. Published on NPM.

@uz-pay/react-native-sdk

Mobile companion SDK bringing the same unified checkout flow to React Native apps.

Writing

Notes on payment architecture, NestJS performance and PostgreSQL tuning — including the driver pattern behind uz-pay-sdk and a Redis caching playbook.

Let us build something that stays up.

Available for remote backend contracts — payment integrations, microservices, API performance work and NestJS platform builds.

Tashkent · UTC+5 +998 91 371 0939 Replies within 24h