Як я відкрив для себе вайбкодінг і навабкодив сервіс з графіками відключень світла

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Невеликий дисклеймер

Цю статтю я писав не сам — у процесі підготовки тексту використовував штучний інтелект для структурування думок, редагування та вичитки.

Фінальний текст — це мій досвід і мої висновки, просто сформульовані трохи швидше, ніж це було б без допомоги AI.

Проблема

З початком масових відключень електроенергії з’явилась потреба вчасно отримувати інформацію про зміни в графіках.

На той момент єдиним зрозумілим джерелом для Києва та області був офіційний сайт ДТЕК, але користуватися ним було незручно:

  • потрібно щоразу вводити адресу, навіть якщо ти знаєш свою чергу;
  • інтерфейс складно назвати дружнім до користувача;
  • не було сповіщень — будь-які зміни доводилося відстежувати вручну.

Перший підхід

Я вирішив піти шляхом автоматизації й використав n8n.

Найскладнішим виявилось не налаштування workflow, а пошук самих даних — відкритого API не існувало.

Довелося аналізувати HTTP-запити сайту та відтворювати їх програмно. Трохи часу, терпіння — і в результаті я отримав наступний workflow.

Як це працювало

Дані зчитувались кожні 30 хвилин з 7:00 до 23:00.

Поточний стан зберігався в Google Sheets.

При зміні графіків автоматично надсилались повідомлення в Telegram.

З часом з’ясувалося, що відстеження графіків — це спільна проблема для багатьох сусідів. І дуже швидко у мого бота з’явилося кілька Telegram-груп, підписаних на сповіщення.

Повідомлення виглядали приблизно так:

Новий етап

n8n виявився платним рішенням, а повідомлення бота часто губилися в потоці дискусій у чатах. Тож я вирішив:

  • перейти на безкоштовні інструменти;
  • створити сайт, де можна в реальному часі без зайвих дій бачити ситуацію по чергах.

Тому я спробував створити власний інтерфейс за допомогою AI.

Використовуючи ChatGPT та AI-асистента від IntelliJ IDEA, після кількох вечорів тестування з’явився сайт:

👉 kolybude.com

Технічний стек нового рішення

Після переходу від n8n до власного рішення стек виглядає так:

  • Render — використовую як хостинг для застосунку. Хотілося максимально простого деплою без складної інфраструктури та зайвого DevOps.
  • Browserless — для програмного зчитування графіків із сайту. Оскільки відкритого API немає, довелося працювати фактично на рівні браузера.
  • Cron-job — періодично виконує запити до сервера, щоб той не «засинав» на безкоштовному тарифі та продовжував стабільно обробляти задачі.

Висновки

Поділюсь висновками, які зробив для себе, використовуючи Junie by JetBrains.

Плюси

  • Без AI я витратив би значно більше часу на розробку такого проєкту.
  • AI суттєво прискорює роботу.
  • Не довелося залучати UX-дизайнера чи бекенд-розробника.
  • Удалося обійтися без написання коду в тому вигляді, до якого я звик.
  • Новий функціонал додається буквально за лічені хвилини.

Мінуси

  • AI не замінює інженера.
  • Без розуміння програмування, логіки та відладки нічого б не запрацювало.
  • Щоб все це запрацювало не лише локально, а ще й на віддаленому сервері, також потрібні навики, які не навайкодиш.
  • Щоб отримати очікуваний результат, AI потрібно дати добре пропрацьоване ТЗ.
  • Увесь код — і на фронтенді, і на бекенді — часто опинявся в одному файлі.
  • Розширення функціоналу іноді призводило до небажаних змін або редизайну компонентів.
  • Часто доводилося відкатувати зміни та інколи вручну вносити правки.

З одного боку, рішення поки що доволі сире.

З іншого — без окремих frontend-, backend- та UX-спеціалістів вдалося створити робочий сервіс буквально за кілька вечорів і з мінімальним ручним написанням коду.

Професія інженера нікуди не зникне — вона трансформується. І адаптуватися до цього потрібно вже зараз.

Наостанок

Я щиро сподіваюся, що після цієї публікації ДТЕК не закриє можливість програмно отримувати дані про відключення електроенергії, а навпаки — розгляне можливість створення публічного API для всіх охочих.

Це зробило б інформацію доступнішою та допомогло б зменшити навантаження на офіційні ресурси.

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Чи не могли б ви поширити workflow n8n виключно для дослідження «як роблять інші». Бо мої воркфлоу дуже коряві. От я і дума це мої недоліки чи інструмент такий )

"

у процесі підготовки тексту використовував штучний інтелект для структурування думок, редагування та вичитки

" — не цікаво здогадуватися де LLM а де ваші думки. Не читаю статтю. Життя занадто коротке щоб читати синтетичні тексти та експерименти.

Життя занадто коротке щоб читати

але достатньо довге щоб написати цей коментар) Хіба так принципіально щоб хтось відстукав кожен символ тексту на своїй клавіатурі? + автор зазначив що це його думки,, відполіровані ШІ. Ба навіть якщо це не так, то думки ШІ це мікс з агрегованих думок інших людей.

Зараз тобі місцеві експерти напихають що це не вайбкодинг

Тоді треба пояснення що таке вайбкодінг від ’експертів’)

Вони самі визначитись не можуть.

У одних, це гуманітарії, які не шарять в ІТ і в інженерії, хто дупля не відстрілює в згенерованому коді, автоматом все апрувить і пушить в продакшн навіть не компілюючи код

У інших, це колеги, які пул реквести з багами на ревью скидають, а раз говнокод, то 100% навайбкодив, бо тільки АІ генерує баги, інженери — ніколи.

Дехто намагається розділяти вайбкодинг і ai-assisted кодинг.

Різниця в розумінні та контролі написаного

Підписатись на коментарі