Мене звати Вадим Харовюк. Я Java Backend розробник з Харкова з п'ятирічним досвідом у Spring екосистемі. За цей час пройшов шлях від простих REST API до продакшн-продуктів з AI-інтеграціями, PWA та мікросервісною архітектурою.

Паралельно з комерційними проєктами веду технічний блог webscraft.org/blog — пишу про реальні кейси з власного досвіду, а не переказ документації.

📚 Зміст

🎯 Про мене

32 роки, Харків, Україна. В IT прийшов усвідомлено — після університету зрозумів що хочу будувати продукти, а не просто писати код за технічним завданням. Перші роки — монолітні Spring Boot додатки, бази даних, REST API. Потім — мікросервіси, черги повідомлень, AI-інтеграції.

Сьогодні моя основна спеціалізація — це повний цикл Backend розробки: від проєктування архітектури до деплою на продакшн з моніторингом і підтримкою. Паралельно розвиваю власний SaaS-продукт і веду блог де ділюся технічними рішеннями з реальних проєктів.

Найкращий спосіб розібратися в технології — побудувати на ній щось реальне і довести до продакшну.

🚀 Один з проєктів: Kazki AI

Kazki AI — сервіс персоналізованих аудіоказок для дітей, де дитина є головним героєм історії. Батьки вводять ім'я дитини, її інтереси та улюблених персонажів — система генерує унікальну казку і озвучує її за допомогою AI-голосу через ElevenLabs.

Проєкт написаний повністю самостійно — від архітектури до деплою. Не pet project для резюме, а живий продакшн-сервіс з платіжною системою, підписками, push-сповіщеннями на iOS та Android і реальними користувачами.

Що всередині:

  • AI-генерація контенту — OpenAI генерує текст казки з урахуванням імені дитини та вподобань, ElevenLabs озвучує результат натуральним голосом
  • Платіжна система — Stripe з моделлю підписок: різні тарифні плани, управління доступом, webhook-обробка подій
  • PWA без App Store — встановлення на домашній екран, офлайн-режим, push-сповіщення через Web Push API (VAPID) на iOS 16.4+ та Android
  • Авторизація — Spring Security + OAuth2 (Google), захист від CSRF, управління сесіями через Redis
  • SEO та продуктивність — серверний рендеринг через Thymeleaf, кешування на рівні Redis, оптимізація зображень через Cloudinary
  • База даних — PostgreSQL з продуманою схемою: користувачі, казки, підписки, push-підписки, платіжні події

Весь стек — Spring Boot, PostgreSQL, Redis, ElevenLabs, Stripe, Cloudinary, PWA — розгорнутий і підтримується в production однією людиною.

🛠️ Технологічний стек

Backend — основна спеціалізація

  • Java 17/21 — основна мова
  • Spring Boot — продакшн-додатки будь-якої складності
  • Spring Security — автентифікація, OAuth2, JWT, CSRF
  • Spring Data JPA / Hibernate — робота з реляційними БД
  • Spring MVC / REST API — побудова HTTP-інтерфейсів
  • Spring Cloud — мікросервісні патерни

Бази даних

  • PostgreSQL — основна реляційна БД для продакшн-проєктів
  • MySQL — альтернатива для певних типів проєктів
  • Redis — кешування, сесії, черги

Черги повідомлень та асинхронність

  • Apache Kafka — потокова обробка даних, event-driven архітектура
  • RabbitMQ — асинхронні черги для мікросервісів

Frontend та PWA

  • Thymeleaf — серверний рендеринг з SEO
  • JavaScript, HTML, CSS, Tailwind
  • PWA (Service Worker, Web App Manifest)
  • Web Push API / VAPID — push-сповіщення на iOS та Android
  • Badging API — лічильники на іконці PWA

AI та зовнішні інтеграції

  • ElevenLabs — генерація мовлення (Text-to-Speech)
  • OpenAI API — генерація текстового контенту
  • Stripe — платіжні інтеграції
  • Cloudinary — медіа-сховище та оптимізація зображень

DevOps та інфраструктура

  • Docker — контейнеризація
  • Railway / Render — деплой продакшн-додатків
  • GitHub Actions — CI/CD пайплайни

💼 Що я роблю для клієнтів

За п'ять років комерційної розробки виробив підхід який однаково добре працює для стартапу на ранній стадії і для зрілого бізнесу з legacy-системою.

Починаю з архітектури, а не з коду

Перед тим як писати перший рядок — розбираємо задачу бізнесу, визначаємо де будуть вузькі місця, і обираємо стек під конкретний кейс. Монолітний Spring Boot або мікросервіси — залежить від масштабу і команди, а не від моди.

Повний цикл без розривів

Проєктування бази даних, REST API, авторизація, інтеграції з платіжними системами і зовнішніми сервісами, деплой, моніторинг. Клієнт отримує готовий продукт, а не набір компонентів які ще треба зібрати докупи.

Продуктивність закладена з початку

Redis-кешування, оптимізація SQL-запитів, асинхронна обробка важких операцій через черги — все це закладається в архітектуру одразу, а не додається як "оптимізація" після того як система впала під навантаженням.

Підтримуваний код

Код який я здаю — читається через рік без автора поруч. Документація, зрозуміла структура пакетів, покриття тестами для критичних шляхів. Бо підтримувати проєкт після запуску доведеться вам або іншому розробнику.

Портфоліо робіт — webscraft.org/portfolio

📝 Технічний блог

Разом з командою ведемо технічний блог webscraft.org/blog — пишемо про реальні кейси з розробки, нові інструменти та підходи які використовуємо на практиці. Не переказ документації, а конкретні рішення з живих проєктів.

Якщо у вас є технічне питання, хочете обговорити архітектуру проєкту або просто не знаєте з чого почати — пишіть напряму, відповідаю особисто.

🎯 Підхід до розробки

За п'ять років я бачив одні й ті самі проблеми в різних проєктах. Не технічні — організаційні. Розробка починається без чіткої архітектури, перший реліз виходить пізніше ніж планувалось, а потім половина часу іде на рефакторинг замість нових фіч. Мій підхід побудований навколо того щоб цього не допустити.

Проблема: "спочатку зробимо, потім розберемось"

Найпоширеніша ситуація — проєкт стартує без проєктування бази даних і архітектури. Через три місяці з'ясовується що схема не витримує реальних даних, а додати нову фічу означає переписати половину коду. Я завжди починаю з моделювання даних і визначення меж системи — навіть якщо клієнт хоче "просто швидко запустити".

Проблема: мікросервіси заради мікросервісів

Команда з двох людей будує розподілену систему з п'яти сервісів, Kafka і окремими базами даних — бо "так правильно". В результаті 90% часу іде на інфраструктуру, а не на продукт. Для стартапу на ранній стадії добре написаний моноліт на Spring Boot — це часто правильніше рішення. Мікросервіси з'являються тоді коли є реальна потреба, а не з першого дня.

Проблема: продуктивність як afterthought

"Спочатку зробимо щоб працювало, потім оптимізуємо" — класика яка коштує дорого. N+1 запити в Hibernate, відсутність індексів, відсутність кешування — все це легко вирішується на етапі архітектури і дуже важко виправляється в продакшні під навантаженням. Redis, правильні індекси, асинхронна обробка важких операцій — я закладаю це одразу.

Проблема: код який розуміє тільки автор

Через рік розробник який писав систему вже не працює в компанії. Новий розробник витрачає тижні щоб розібратись що відбувається. Читабельний код, зрозуміла структура, документація критичних рішень — це не про перфекціонізм, це про вартість підтримки.

Хороша архітектура — це не та що виглядає красиво на діаграмі, а та яку легко змінювати коли бізнес-вимоги змінились.

❓ FAQ

Яка ваша основна спеціалізація?

Java Backend на Spring Boot екосистемі. Додатково — PWA, Web Push, AI-інтеграції (ElevenLabs, OpenAI), платіжні системи (Stripe).

Чи берете комерційні проєкти?

Так. Розглядаю Backend розробку, технічний консалтинг та повний цикл розробки веб-продуктів. Зв'яжіться для обговорення деталей.

Скільки коштує розробка?

Залежить від складності. Простий REST API — від $200, повноцінний продукт з авторизацією, платежами та PWA — від $1000. Завжди даю детальну оцінку після аналізу вимог.

Чи є приклади живих продуктів?

Так — Kazki AI і цей сайт webscraft.org побудовані на тому ж стеку що я пропоную клієнтам.

Де можна побачити код?

github.com/VadimKharovyuk

📬 Контакти

Якщо у вас є проєкт або питання — пишіть: