Andrii K.
Backend Engineer, NestJS and Python, PostgreSQL, Redis, RabbitMQ
Backend engineer. Two tracks: distributed backend systems in TypeScript and NestJS, and Python data collection at scale - 97 projects delivered on Upwork at 100% Job Success. CURRENT WORK Backend engineer at Modern Expo, working on a multi-tenant SaaS platform with a metadata-driven core - entities are described as metadata, and tables, queries and migrations are generated from it. My main areas are the export and import subsystem, schema generation and the query planner. That means most of my work is on a live system under load, not greenfield: schema changes that have to be safe across every tenant, data migrations that have to be reversible, and failures that have to surface instead of passing silently. I work across services rather than inside one. Over the last quarter that meant auth, both API gateways, the entity core, the extension runner, observability and the front end, often in the same change. WHAT I BUILD Distributed backends. NestJS across the platform, Fastify where latency matters, PostgreSQL with TypeORM, Elasticsearch for search, Redis for caching and coordination. RabbitMQ and MQTT for async work, WebSockets for realtime. Deployed on GCP (GKE, Cloud SQL, Cloud Storage) through GitLab CI and ArgoCD. Observability. OpenTelemetry traces and Prometheus metrics, structured logging with Winston. Instrumenting first and changing second, because you cannot fix what you have not measured. Data collection at scale. Over 180 production scrapers across e-commerce, certification registries, real estate and public data. Scrapy, Selenium, asyncio and aiohttp, with pagination, retries, proxy rotation and clean output to CSV, Excel, JSON or a database. Python backends. Flask APIs on PostgreSQL and SQLAlchemy, Celery for background jobs, Redis, Alembic migrations, Docker. Front end where needed. Vue 3 with Vite and TanStack Query, enough to carry a change end to end rather than hand it off. HOW I WORK I work in writing. Written specs in, written updates out, written handover at the end. It is how I am most precise, and it leaves a record you can go back to six months later instead of trying to remember what was agreed on a call. I read and write English comfortably. Spoken English is my weak point, so I keep calls short and rare and put the detail in text. If your project runs on tickets, pull requests and async updates, that suits me well. If it needs daily video standups, I am probably not your best fit, and better that you know that now than in week three. That preference is also why my Upwork history looks the way it does: a long run of self-contained projects with a clear written spec and a clear deliverable, rather than open-ended team engagements. The depth is in the full-time platform work, the breadth is here. I tell you what is not possible before you pay for it. One client put it better than I can: "He is also very honest about what is possible and not, which saves a lot of wasted time and money." Documentation, setup steps and a working handover are part of delivery, not an extra line item. WHAT CLIENTS SAY "Expert level developer, thank you for the amazing job! Will hire again." "Andrij did an excellent job. He worked quickly and intelligently, and continued making revisions until it was perfect." "Great attention to detail, collaborative and overall great to work with. I highly recommend this freelancer for any Python or web scraping projects." STACK TypeScript, NestJS, Fastify, Node, Python 3, Flask, Django, PostgreSQL, TypeORM, SQLAlchemy, Elasticsearch, Redis, RabbitMQ, MQTT, Celery, Docker, GCP (GKE, Cloud SQL, Cloud Storage), GitLab CI, ArgoCD, OpenTelemetry, Prometheus, Jest, Testcontainers, Vitest, Playwright, Vue 3, Scrapy, Selenium, BeautifulSoup, asyncio and aiohttp, pandas, aiogram, Git Based in Lutsk, Ukraine. Available 30+ hrs/week, I reply within 4 hours.
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $50
Billed in all: $42,316$42k
$50 in the last 6 months
Across 108 contracts
Earnings, last 30 days
Skill rankings: Top 25% in Elasticsearch
Ranked by MRR among everyone on Upwork with the skill.
- #69Python-Requests179 freelancers · 🇺🇦 #5Top 39%🇺🇦#5 of 12
- #116Telegram API322 freelancers · 🇺🇦 #15Top 36%🇺🇦#15 of 63
- #148RabbitMQ552 freelancers · 🇺🇦 #11Top 27%🇺🇦#11 of 68
- #235Beautiful Soup634 freelancers · 🇺🇦 #13Top 37%🇺🇦#13 of 35
- #237Elasticsearch946 freelancers · 🇺🇦 #28Top 25%🇺🇦#28 of 91
- #350Scrapy903 freelancers · 🇺🇦 #25Top 39%🇺🇦#25 of 54
- #531Redis1,774 freelancers · 🇺🇦 #59Top 30%🇺🇦#59 of 210
- #695Flask2,438 freelancers · 🇺🇦 #41Top 29%🇺🇦#41 of 154