Staff Software Engineer · Warsaw · open to EU

I build the systems that move money and orders — the ones that can't afford to get it wrong.

14 years across payments, marketplace logistics and event-driven backends. Four production platforms taken from the first commit to launch — two-stage acquiring, revenue splits, internal ledgers, message buses and PostgreSQL at scale. Founding engineer of a delivery marketplace that started as a side project and was acquired by investors.

PHP 8 / Symfony Go Python PostgreSQL RabbitMQ RoadRunner
Andrei Velent
baseWarsaw, PL
moderemote / hybrid
statusopen to EU roles · B2B
14
years building high-load, event-driven backends
6
commercial products shipped end to end
4
platforms built from the first commit
payments
delivery · travel
domains taken to production

Work

Systems I designed, wrote and kept alive in production 2012 — present
Travel · 2025 — present
Staff Software Engineer

Amiga

Built from the first commit

Full-cycle travel booking — search → pricing → booking → payment. Architecture and reliability owned end to end.

RUNTIMEPHP 8.4 · Symfony 8 · RoadRunner · Go 1.23 · Doctrine ORM 3
DATA & BUSPostgreSQL 17 · Redis · RabbitMQ (delayed exchange) · MinIO
QUALITYPHPUnit · Psalm 6 + own plugin · Rector · Infection · k6
OPSGitLab CI · Docker Compose · Prometheus · Grafana · Loki
  • Payments subsystem end to end: two-stage acquiring (hold → capture/void → refund) with split payments across sub-merchants. A pre-flight check of every recipient eliminated partially captured payments; capture is event-driven over RabbitMQ, so a payment failure can never roll back a confirmed booking.
  • 6 travel suppliers behind a single adapter port (Hotelbeds, Expedia Rapid, TEZ Tour, Ostrovok, Nemo, Andromeda) — hand-built SOAP for a flight GDS with ticketing/void, session-managed XML for tour operators — and passed Expedia Rapid partner certification.
  • A Go engine that deduplicates ~1M hotel records from 5 suppliers against a 700k canonical catalog: a spatial grid index turns an O(N²) scan into a neighborhood scan, an 8-metric similarity ensemble matches, every merge reviewable and reversible.
  • Cut a chronic 48-hour supplier sync ~7× and shrank the incremental window from 66 days to one; observability from zero — 15 Grafana dashboards, end-to-end tracing, CI with 6 security scanners.
Delivery marketplace · 2019 — 2026
Founding / Staff Software Engineer

Delivio

Built from the first commit · acquired

Started as a side project with a co-founder and sold to investors. Led 7 years in production — thousands of orders a day across restaurants, couriers and payments.

RUNTIMEPHP 8.3 · Symfony 6.4 · RoadRunner · API Platform
DATA & BUSPostgreSQL 14 · PostGIS · TimescaleDB · PgBouncer · RabbitMQ · Redis TimeSeries · Elasticsearch · Mercure
QUALITYPHPUnit · Behat · Panther · Playwright · Locust · WireMock · PHPStan · Psalm
OPSDocker Swarm · GitLab CI · Prometheus · Grafana · Sentry · Blackfire
  • Distributed courier-dispatch engine, end to end: a DB-configurable state machine on RabbitMQ that survives worker restarts, PostGIS geo-scoring, order chaining (2–3 orders per courier by geometry and cooking-time ETA), and pool-mode M×N assignment resolution under distributed locks.
  • Sole author of the marketplace payment core: three acquiring banks with three crypto-signature schemes, two-phase auth/capture with automatic splits across restaurant, courier and platform, mutual-debt netting and kopeck-exact settlement reconciliation.
  • An internal ledger of restaurant and courier balances — snapshots, compensations, payouts to self-employed couriers — plus tips, card-on-file and sub-merchant-accurate partial refunds. Pricing engine with 20+ discount mechanics, shared carts, geo-zone dynamic delivery pricing.
  • Zero-downtime migrations over the years: PHP 7→8, Symfony 4→6.4, PostgreSQL→14, PHP-FPM → RoadRunner (100 persistent workers) after a full statelessness audit.
White-label SaaS · 2024 — present
Staff Software Engineer

Multi-tenant delivery platform

Built from the first commit

One codebase, many branded tenants — web, iOS, Android.

RUNTIMEPHP 8.3 · Symfony 7.2 · API Platform 4.1 (JSON-LD, OpenAPI) · RoadRunner · Lexik JWT
DATA & BUSPostgreSQL 16 + PostGIS 3.5 · Doctrine (Main / Tenant migrations) · Redis · Messenger on Doctrine transport · MinIO / Flysystem
QUALITYPHPUnit · Foundry · Zenstruck Browser · Psalm 6 (level 1) · PHPStan 6 · Rector
OPSDocker Swarm · GitLab CI · Nginx wildcard subdomains · Sentry · Grafana + Loki + Promtail
  • Schema-per-tenant multi-tenancy as a custom Symfony bundle: dynamic connection switching at the Doctrine DBAL level, migrations across all tenant schemas in one command, tenant context propagated automatically across the async message bus — the foundation the whole product runs on.
  • Made Doctrine schema introspection work in a multi-tenant setup (custom PostgreSQL platform + schema manager) — without it, schema diffs simply don't work in schema-per-tenant.
  • White-label mobile pipeline: a branded native iOS/Android app per tenant — palette, deep links, signing keys, store assets — generated from config and built by CI at the push of a button in the admin panel.
  • Geo-zones on PostGIS polygons and a business-hours engine written twice — PHP and PL/pgSQL — with test-enforced parity, so "the nearest open location" is answered inside the database. Guaranteed POS delivery (iikoCloud, Frontpad, Caffesta) with a DB-backed retry queue, plus per-tenant observability — Loki labels by tenant/channel/order and Prometheus business counters for checkout and SMS.
Food delivery · 2023 — 2026
Staff Software Engineer

KSB.by / Mak.by

Built from the first commit

A national restaurant brand's online ordering.

RUNTIMEPHP 8.3 (opcache preload) · Symfony 7.2 · API Platform 4 · RoadRunner (20 workers) · JWT + refresh
DATA & GEOPostgreSQL + PostGIS · range types · custom DQL · Redis · Messenger · MinIO · OSRM · Nominatim
QUALITYPHPUnit · Zenstruck Browser + Foundry · Psalm 5 · PHPStan 1.12 · Rector
OPSKubernetes (k3s) · GitLab CI · 11 CronJobs · Sentry · Grafana + Loki
  • Bootstrapped the whole platform — order domain, event-driven architecture, JWT auth, role model — and kept it in production for 3 years as sole architect, on k3s with 11 scheduled jobs and Telegram-tiered alerting on payment and integration failures.
  • Two acquiring banks behind one interface, card tokenization (PCI-DSS-safe — cards never stored), recurring payments and partial refunds down to a single order-line modifier with a full refund journal.
  • Real road-network routing on self-hosted OSRM — the nearest restaurant chosen by driving distance, not a straight line; the entire customer base's geo data audited and fixed with self-hosted Nominatim.
  • Schedule engine on native PostgreSQL range types with ~10 custom DQL functions; cascade SMS delivery (cheap Telegram-OTP first, SMS fallback on TTL) that cut per-order notification cost.
Contract · Aug — Nov 2024

YouGo Money — contractor-payout fintech

Owned the payments & billing subsystem — paying international contractors by bank transfer or crypto.

  • Multi-currency settlement pipeline: invoices aggregated into project invoices and bank payment orders, FX at historical rates with Decimal-exact fee accounting, documents generated Jinja-DOCX → PDF.
  • FX reference-data service — daily cross-rates on a DB-configurable schedule, async-cached point-in-time lookups; bank rails and BSC crypto payouts.
Python 3.11 · FastAPI · async SQLAlchemy · PostgreSQL
Contract · Jul — Sep 2024

Igloo — Icelandic rental platform

Designed and shipped the listing-scraping subsystem.

  • Template-method scraper framework: new sources plug in as ~100-line declarative subclasses — 5 production scrapers, 4 ingestion strategies, including a reverse-engineered Hasura GraphQL API with cursor pagination.
  • Incremental scraping with URL-keyed dedup and early stop, append-only price-history time series, hardened S3 image pipeline, 10 staggered Celery beat jobs.
Python · Django 4.2 · Celery · RabbitMQ · AWS
Wargaming.net · 2012 — 2020

World of Tanks — content platforms & internal tooling

Tech lead of the Global Wiki, a large multi-language content platform (PHP). Led development of the internal logging system (Python), full-stack work on a marketing tracking engine for optimising ad campaigns, and CI/CD improvements across teams.

Live systems

Not slides — open services you can poke at
Live · PHP + Symfony · Kubernetes

Ledger Core — reference build

A double-entry accounting core showing how I build for correctness: event sourcing, a transactional outbox, idempotent projections and an orchestrated transfer saga. Append-only event log with UNIQUE(stream, version) optimistic concurrency, LISTEN/NOTIFY outbox relay, idempotency keys, and a playground that lets you race a double-spend live.

RUNTIMEPHP 8.5 · Symfony 8 · RoadRunner · DBAL 4 (no ORM on write side) · PostgreSQL 18
QUALITYPHPUnit 13 (unit/integration/functional) · PHPStan max · Infection with blocking MSI · Rector
OPSk3s · own Helm chart (HPA, PDB, migration job-hook) · GitHub Actions with kind smoke deploy · Prometheus · Grafana · OpenTelemetry
Live · Python + Temporal

Ledger Core — durable-execution rewrite

The same ledger re-architected around Temporal durable execution (Python 3.14 + FastAPI). Temporal executes the transfer saga — hold → post → settle, retries and compensation surviving crashes; the append-only Postgres event log narrates it. A saga cockpit lets you force the parked needs_reconciliation path and resolve it by hand.

RUNTIMEPython 3.14 · FastAPI · Temporal SDK · Pydantic v2 · asyncpg (raw SQL) · PostgreSQL 17 · uv
QUALITYpytest + Hypothesis · testcontainers · Temporal time-skipping env · mutmut kill-rate gate · pyright strict · ruff
OPSk3s · Helm (api / worker / relay, HPA, PDB, migration hook) · GitHub Actions · OpenTelemetry + Tempo + Grafana · structlog

Side projects

Shipped, running, linkable

Stack

Languages
PHP 8.x · Go · Python · SQL · TypeScript
Frameworks
Symfony 7 / 8 · API Platform · Doctrine · RoadRunner · FastAPI · Django
Architecture
DDD · CQRS · Event Sourcing · Transactional Outbox · Saga · Idempotency · Multitenancy
Messaging
RabbitMQ · Kafka · Symfony Messenger · Mercure
Data
PostgreSQL · PostGIS · TimescaleDB · Redis · Elasticsearch
Infra & observability
Docker / Swarm · k3s / Helm · Nginx · GitLab CI · GitHub Actions · Prometheus · Grafana · Loki
AI tooling
Claude Code & Cursor daily · agentic coding, spec-driven development (OpenSpec) · YOLOv8 + CVAT
Languages spoken
Belarusian & Russian (native) · English (professional) · Polish (B1)

Hiring for payments, marketplace or event-driven backend?

Open to Staff / Lead roles in the EU — remote from Warsaw or hybrid, employment or B2B contract. Fastest way to judge me: open a live ledger and break it.