Employment historyДосвід роботи
AI-powered customer support automation. I own the backend and AI stack, from the agentic RAG pipeline to production infrastructure, and set technical direction with the CEO. - Built a graph-based agentic RAG pipeline (router → retrieval → reranking → document evaluation → response generation) on top of hybrid search that combines vector similarity, BM25 and a reranker. Pre-warming the pipeline at startup cut cold-start latency from ~17s to near-zero.
- Designed a platform-agnostic orchestration core: a new support platform needs an adapter, a new client needs a config, neither needs a change to core logic. Runs multiple production clients across Zendesk, Slack and Intercom.
- Built a gateway-based deploy management layer with canary slots, per-client traffic routing and sticky-by-ticket sessions.
- Built an internal monitoring platform: kill switch, three-level alerting, and automated reconciliation of what the AI promised against what the flow allows.
- Own the AWS infrastructure (ECS Fargate, Terraform, GitHub Actions CI/CD) and contribute to the React / TypeScript frontend.
Автоматизація клієнтської підтримки на AI. Відповідаю за backend та AI-стек — від agentic RAG-пайплайну до продакшн-інфраструктури — і разом з CEO визначаю технічний напрям. - Побудував графовий agentic RAG-пайплайн (router → retrieval → reranking → document evaluation → response generation) поверх гібридного пошуку, який поєднує векторну схожість, BM25 і reranker. Попереднє прогрівання пайплайну на старті зменшило латентність холодного старту з ~17 с майже до нуля.
- Спроєктував платформо-незалежне ядро оркестрації: нова платформа підтримки потребує адаптера, новий клієнт — конфіга, і ні те, ні те не вимагає змін у логіці ядра. На ньому працює кілька продакшн-клієнтів у Zendesk, Slack та Intercom.
- Побудував рівень керування деплоями на базі gateway з canary-слотами, маршрутизацією трафіку по клієнтах і sticky-by-ticket сесіями.
- Побудував внутрішню платформу моніторингу: kill switch, трирівневі алерти й автоматична звірка того, що пообіцяв AI, з тим, що дозволяє флоу.
- Відповідаю за AWS-інфраструктуру (ECS Fargate, Terraform, GitHub Actions CI/CD) і долучаюся до frontend на React / TypeScript.
My stack in the project:Мій стек у проєкті: Python 3.10-3.12, FastAPI, LLM / RAG (Claude, OpenAI), Neo4j, OpenSearch, ChromaDB, PostgreSQL, Redis, Supabase, React, TypeScript, Vite, APScheduler, Docker, AWS ECS, Terraform, GitHub Actions, Zendesk / Slack APIs.
A product studio: its own products alongside client work. I was the tech lead across its projects. - HunteX, a crypto exchange. I joined before the alpha had shipped, owned the backend stack, ran architecture sessions with the CTO, and led the move from a monolith on a virtual server to microservices on Kubernetes. The owners exited in early 2025.
- The technical team stayed together after that, and I stayed with it. Since then: Telegram mini-apps and bots on aiogram, and an arbitrage system.
- I ran the infrastructure side — Kubernetes with NGINX Ingress and cert-manager, secrets in HashiCorp Vault, time-series in RedisTimeSeries and InfluxDB.
Продуктова студія: власні продукти поряд із клієнтською роботою. Я був tech lead на її проєктах. - HunteX, криптобіржа. Прийшов ще до того, як вийшла альфа, відповідав за backend-стек, проводив архітектурні сесії з CTO і вів перехід із моноліту на віртуальному сервері до мікросервісів у Kubernetes. На початку 2025 власники зробили exit.
- Технічна команда після цього лишилася разом, і я лишився з нею. Відтоді: Telegram mini-apps і боти на aiogram, а також арбітражна система.
- Я вів інфраструктурну частину — Kubernetes з NGINX Ingress і cert-manager, секрети в HashiCorp Vault, часові ряди в RedisTimeSeries та InfluxDB.
My stack in the project:Мій стек у проєкті: Python 3.11-3.12, aiogram, FastAPI, SQLAlchemy, Alembic, asyncpg, PostgreSQL, Redis, RedisTimeSeries, InfluxDB, MongoDB, Kafka, Web3, Binance API, WebSockets, APScheduler, Telegram API, Merchants API, Docker, K8s, NGINX Ingress, cert-manager, HashiCorp Vault, Gunicorn, Poetry
I was invited to lead technical direction as CTO, part-time, after my earlier work at the startup. The company did not raise funding to scale further and has been on hold since, so I started a new product concept, which is in active part-time development. I lead the technical team across backend, frontend and design, and I also do the product management and product ownership. I shape the product vision, influence which features get built, and work with the design team to keep user experience, business goals and technical feasibility aligned. I moved the system from a monolith to microservices on Kubernetes, and I continue to guide both the technical and the product direction. Мене запросили вести технічний напрям як CTO, на part-time, після моєї попередньої роботи в цьому стартапі. Компанія не залучила фінансування, щоб масштабуватися далі, і відтоді стоїть на паузі, тож я почав новий продуктовий концепт, який зараз активно розробляю в part-time. Я веду технічну команду — backend, frontend і дизайн, а також роблю продуктовий менеджмент і product ownership. Я формую продуктове бачення, впливаю на те, які фічі йдуть у розробку, і працюю з дизайн-командою, щоб користувацький досвід, бізнес-цілі й технічна реалізовність не розходились між собою. Я переніс систему з моноліту на мікросервіси в Kubernetes і далі веду як технічний, так і продуктовий напрям.
My stack in the project:Мій стек у проєкті: Python 3.12, FastAPI, IPFS, React, Next.js, PostgreSQL, Alembic, and Redis
- Built and maintained services with Flask, FastAPI and AsyncIO
- Wrote Airflow DAGs and dbt models for data transformations
- Added monitoring with Prometheus, Grafana and Jaeger
- Будував і підтримував сервіси на Flask, FastAPI та AsyncIO
- Писав Airflow DAG-и та dbt-моделі для перетворення даних
- Додав моніторинг на Prometheus, Grafana та Jaeger
My stack in the project:Мій стек у проєкті: Python 3.7-3.11, Alembic, PostgreSQL, SnowFlake, DBT, Prometheus, Grafana, Jaeger, Unit-tests, ArgoCD, Airflow
I supported the previous team's legacy code while shipping new features. I defined the project structure, kept the documentation, set team goals and tracked progress, and mentored the team. I worked with IPFS nodes and Stellar, processing and generating transactions for the internal cryptocurrency, and setting up nodes. I led the technical team and developed new product components, including the Blockchain Bridge and Staking. Я підтримував legacy-код попередньої команди й паралельно випускав нові фічі. Я визначив структуру проєкту, вів документацію, ставив цілі команді й відстежував прогрес, менторив команду. Працював з нодами IPFS і Stellar — обробляв і генерував транзакції для внутрішньої криптовалюти, налаштовував ноди. Я вів технічну команду й розробляв нові компоненти продукту, зокрема Blockchain Bridge і Staking.
My stack in the project:Мій стек у проєкті: Python 3.7, Python 3.9, Flask, PyTest, Go, NestJS, IPFS, Stellar Core, REST API, PostgreSQL, SQLAlchemy, Alembic, Babel, APScheduler, JWT, Mail, Marshmallow, Redis, QRcode.
Moved an outdated Kotlin "microservice" solution to a serverless architecture on AWS Lambda with Python. Led a backend team of two, one middle and one junior, through the transition. Переніс застаріле «мікросервісне» рішення на Kotlin у serverless-архітектуру на AWS Lambda з Python. Вів backend-команду з двох людей — одного мідла й одного джуна — через цей перехід.
My stack in the project:Мій стек у проєкті: Python 3.9, PyTest, Boto, REST API, GraphQL API, gRPC, PostgreSQL, SQLAlchemy, Alembic, APScheduler, Mail, Docker.
An unpaid volunteer project: detecting the Russian trace using Aleph's open source. I came in when the teams were in chaos and spent the three months reorganising how the team worked, around one job: processing and loading the huge data sets of sanctions and registers. I had a team of 8: 5 Data Engineers and 3 Data Analysts. Неоплачуваний волонтерський проєкт: пошук російського сліду через open source Aleph. Я прийшов, коли в командах був хаос, і ці три місяці перебудовував те, як працює команда, навколо однієї задачі: обробки й завантаження величезних масивів даних санкцій та реєстрів. У мене була команда з 8 людей: 5 Data Engineers і 3 Data Analysts.
My stack in the project:Мій стек у проєкті: Python 3.8, NumPy, PyTest
Wrote backend logic and REST API endpoints in Go, and fixed frontend issues in TypeScript. A short stint; the stack turned out to be a poor long-term fit for where I wanted to grow. Писав backend-логіку та REST API ендпоінти на Go, а також виправляв frontend-проблеми на TypeScript. Короткий епізод; стек виявився поганим вибором у довгостроковій перспективі — для напрямку, у якому я хотів рости.
My stack in the project:Мій стек у проєкті: Go Lang, TypeScript, Rest API.
I built monitoring systems that handle up to 10,000 requests per second, on Prometheus, Zabbix, Icinga2 and Grafana. Я побудував системи моніторингу на Prometheus, Zabbix, Icinga2 та Grafana, які обробляють до 10 000 запитів на секунду.
My stack in the project:Мій стек у проєкті: Python 3.8, Flask, PyTest, PostgreSQL, Prometheus, Zabbix, Grafana, Redis, Celery, Icinga2, JS / Vue.js
I worked on a website builder for real estate agents that supported several auction types. I implemented the GraphQL queries and mutations, integrated them into the service, and wrote the PyTest tests for them. Я працював над конструктором сайтів для агентів з нерухомості, який підтримував кілька типів аукціонів. Я реалізував GraphQL-запити та мутації, інтегрував їх у сервіс і написав до них PyTest-тести.
My stack in the project:Мій стек у проєкті: Python 3.7, AWS (Lambda, S3, EventBridge, AppSync, EC2, DynamoDB, StepFunction), Terraform, GraphQL, Apache Velocity, Chalice, PyTest.
I built a Telegram bot for an annual social project event. It handled registration, generated QR codes for entry, provided event information, collected attendee data, and tracked how many people were on site in real time. Volunteers used the bot to scan the codes at the event. Built during COVID, it was the first solution in Ukraine that let an event of 1,000 people run in a single location. Я побудував Telegram-бота для щорічного заходу соціального проєкту. Він відповідав за реєстрацію, генерував QR-коди для входу, видавав інформацію про захід, збирав дані учасників і в реальному часі відстежував, скільки людей на локації. Волонтери сканували коди на заході через цього бота. Зробив його під час COVID — це було перше в Україні рішення, яке дозволило провести захід на 1 000 людей в одній локації.
My stack in the project:Мій стек у проєкті: Python 3.8, Flask, PyTest, REST API, Telegram API, PostgreSQL, SQLAlchemy, Alembic, APScheduler, QRcode, Docker.
I built a city chatbot on top of open city data. It notifies residents about emergency water and gas shutdowns, shows nearby parking lots, gives public transport arrival times relative to the user's location, checks whether outdoor establishments are operating legally, and shows government spending on city and school repairs. It was my project, so I did all of it: the code and the branding. It has four parts: - A landing page
- The bot itself, on Telegram and Facebook, behind a REST and GraphQL API so it can also be plugged into a web page or a mobile app
- A neural network that reads the user's query and routes it to the right section or dataset; it talks to other services over REST and webhooks
- A back office where registered managers update the open city data held in the system
Я побудував міський чатбот на відкритих міських даних. Він сповіщає мешканців про аварійні відключення води та газу, показує найближчі парковки, дає час прибуття громадського транспорту відносно розташування користувача, перевіряє, чи легально працюють вуличні заклади, і показує державні витрати на ремонти міста та шкіл. Це був мій проєкт, тож я робив усе: код і брендинг. Він складається з чотирьох частин: - Лендінг
- Сам бот — у Telegram і Facebook, за REST та GraphQL API, щоб його можна було під'єднати і до вебсторінки, і до мобільного застосунку
- Нейромережа, яка читає запит користувача і скеровує його до потрібного розділу чи набору даних; вона спілкується з іншими сервісами через REST і вебхуки
- Бек-офіс, де зареєстровані менеджери оновлюють відкриті міські дані, що зберігаються в системі
My stack in the project:Мій стек у проєкті: Python 3.6-3.10, Flask, PyTest, REST API, Telegram API, Facebook API, Viber API, PostgreSQL, SQLAlchemy, Alembic, APScheduler, Docker, K8s, JS, Vue.js, Kafka, Celery, Redis, NumPy, Mail.
I wrote C++ daemons that handled background processing and automation of banking operations. Я писав C++-демони для фонової обробки та автоматизації банківських операцій.
My stack in the project:Мій стек у проєкті: C++ 2017, thread, STL, Unit-testing, Protocols (TCP/UDP), Cmake
I helped develop hardware systems for racing manual cars on the track. I wrote C/C++ with CMake, and the parts I touched were TCP/UDP communication and threads. Я допомагав розробляти апаратні системи для трекових перегонів на автомобілях з механічною коробкою передач. Писав C/C++ із CMake, а моя частина — TCP/UDP-комунікація та потоки.
My stack in the project:Мій стек у проєкті: C/C++, Cmake, TCP/UDP protocols, threads
|