I’m a backend developer with hands-on experience in designing, building, and maintaining backend systems, RESTful APIs, and third-party integrations.
- 🛠 Specialize in backend development using Node.js and TypeScript, building APIs with Express.js and Strapi, and working with PHP-based systems.
- 💳 Hands-on with payment gateway integrations — Stripe, Primer.io, OPPWA, CatalystPay, eMerchantPay
- 🗄 Experienced with PostgreSQL, MySQL, and MongoDB; designed and optimized data models and queries. Worked with TypeORM for data access layer. Implemented background processing using Redis and BullMQ queues.
- 🚀 Building production-grade open-source pet projects on NestJS + TypeScript in my spare time
- 🌱 Currently exploring NestJS, Docker, Kubernetes, microservices architecture, Laravel and OOP patterns
A production-ready Telegram bot built for the XP Metal Detectors community to deliver real-time firmware update notifications.
Stack: NestJS 11 · TypeScript · grammY · PostgreSQL + TypeORM · Redis + BullMQ · Docker · Pino · Jest
- Modular NestJS architecture (bot · database · xp-api · queue · scheduler · common)
- Async notification pipeline on BullMQ + Redis with dedicated processors
- Cron-scheduled firmware checks via
@nestjs/scheduleintegrated with the official XP API - Multilingual support for 8 languages (
@grammyjs/i18n+ Fluent) - RBAC via NestJS guards · admin broadcasts · API account management
- Security: API token rotation, encrypted credentials, graceful error handling
A multi-phase web scraper that collects structured data on AI tools from theresanaiforthat.com.
Stack: Node.js · Puppeteer · Puppeteer Extra (Stealth Plugin) · Winston · Dotenv
- Three-phase pipeline: link collection → tool detail extraction → category tree
- Anti-detection: User-Agent rotation, randomized delays, viewport randomization, stealth plugin
- Recursive category-tree traversal with both flat-list and hierarchical JSON output
- Centralized Winston logging with environment-driven configuration
- Detailed JSON schema (features, pricing, modalities, releases, FAQ, pros/cons)
A real-time scraper that collects football match data and delivers automated predictions to a Telegram channel.
Stack: Node.js · Puppeteer · MySQL · Telegraf.js
- Real-time data collection from soccerstand.com / flashscore.ua
- Automated football match prediction pipeline with Telegram delivery
- MySQL schema for historical match data and prediction results