FINTECH / AUTOMATION / TELEGRAM

A money-transfer preparation system with QR delivery

TransferBot combines a customer-facing Telegram bot, a transfer orchestrator, browser automation and administrative profile management. A user enters and confirms an amount, the system runs the request through a controlled workflow and returns a ready-to-use QR code and payment link.

  • Node.js 20
  • TypeScript
  • Telegraf
  • Fastify
  • Playwright
  • PostgreSQL
  • Zod
  • Docker Compose
TransferBot — project preview

Why TransferBot was created

Why TransferBot was created

Preparing a transfer requires a sequence of amount, recipient and identity inputs, payout-method selection, external waiting states and QR extraction. TransferBot turns this long journey into one managed process while keeping the customer experience inside a simple Telegram conversation.

Who the system serves

The product serves operations teams handling money-transfer requests and their customers. Customers follow a short guided flow, administrators manage recipient profiles, and the technical team supervises the queue, statuses and browser tasks.

01

Challenge

The system had to connect a conversational interface with a multi-step browser operation, preserve request state throughout the journey, prevent duplicate active transfers and correctly handle waiting, cancellation, failure and expiry.

02

Solution

We implemented a service architecture with two Telegram bots, a Fastify orchestrator, PostgreSQL and a Playwright worker. The orchestrator creates and distributes tasks, the worker executes the browser flow and extracts the QR result, and the customer bot reports progress and delivers it.

Capabilities

Product capabilities

The capabilities support one operating scenario and share common state, control and analytics.

01

Guided customer flow

The bot accepts an amount, validates input, requests confirmation and guides the user through transfer states without a separate application.

02

Transfer orchestration

The Fastify service creates transfers, assigns recipient profiles, stores status and exposes the next queued task to an available worker.

03

Browser execution

The Playwright worker completes the multi-step form, selects country, payout method and bank, handles intermediate states and reaches the payment screen.

04

QR result extraction

The system extracts both a QR PNG and payment link, stores them with the transfer and makes them available to the customer bot.

05

Profile administration

The administrative bot creates, reviews and removes recipient profiles for card- or phone-based transfers.

06

Failure and time control

Queue, execution, waiting and failure states are backed by cancellation, task expiry and a clear retry path for the user.

Outcome

Outcome

TransferBot turns a complex transfer-preparation sequence into one service: customers stay in Telegram, operators manage recipient profiles, and the backend coordinates the queue, browser execution and QR delivery. Every key request state is captured in one lifecycle and exposed through the interface appropriate to each participant.

Node.js 20 TypeScript Telegraf Fastify Playwright PostgreSQL Zod Docker Compose

New project

Working on a similar task?

Describe the current situation and the outcome you need. We will understand the context and propose a practical first stage.