Створити продукт за 10 годин із ChatGPT в напарниках. Як IT-підприємець Ігор Стефурак використав чат-бот у ролі CTO та розробив успішне розширення

Український IT-підприємець Ігор Стефурак раніше працював у стартап-акселераторі, а з 2017 року запускає власні вебпродукти, під час створення яких не боїться експериментувати. Один з таких продуктів — розширення для Chrome, яке за допомогою простої команди дає змогу згенерувати написаний штучним інтелектом текст у будь-якому полі. Ігор розробив його лише за 10 годин, взявши у напарники ChatGPT, який і написав весь код.

Ще до запуску продажів розширення зібрало передзамовлень на $1000, а невдовзі підприємець успішно продав проєкт.

Technical Generalist Оксана Лобко поговорила з Ігорем Стефураком про його підхід до побудови й продажу продуктів, використання чат-ботів як повноцінних CTO, улюблені робочі інструменти, а також свій нинішній проєкт. Подаємо його відповіді прямою мовою.

Про свої проєкти

У технологічній галузі я з 2011 року, коли потрапив у команду київського стартап-акселератора GrowthUP, де пропрацював шість років. У межах цього акселератора я і запустив свій перший проєкт — Workcelerator, який допомагав стартапам шукати нетехнічних спеціалістів. Адже часто стартапи на ранніх стадіях не мають достатньо грошей, щоб найняти спеціалістів найвищого рівня, тому йдуть шляхом побудови команди з нуля, з таких самих людей, як вони, тобто без досвіду.

Тож на початку понад половина вакансій на Workcelerator були про стажування в стартапах. Але в мене була обов’язкова умова — стажування має оплачуватись, хай це й мінімальні гроші.

Запити стартапів у 2011 році та 2023-му нічим не відрізняються. Одні не розуміють, як ідентифікувати ідею, над якою варто працювати. Інші — як ідею, яка в них є, втілити в життя. Зазвичай це люди, які не вміють програмувати, тож не можуть поринути у всі аспекти розробки продукту, який придумали. А, наприклад, ті, хто вміє програмувати, не розуміють, як продати свою ідею, отримати бодай одного користувача.

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

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

Які проєкти, крім Workcelerator, запускав Ігор?

Ось лише деякі з них:

  1. «Якість повітря у Києві». За даними Ігоря Стефурака, телеграм-ботом користується понад 100 тисяч киян.
  2. Google Spreadsheet Email Verification Add-on. Продав у 2022-му.
  3. Доповнення для Gmail Silent Inbox — сервіс для автоматичного фільтрування електронної пошти. Проєкт проданий у квітні 2021 року.
  4. Сервіс для підʼєднання будь-яких API до Google Sheets. Проєкт проданий у вересні 2022 року.
  5. Gmail-доповнення Contact Notes.
  6. Застосунки для Setapp: Lofi Garden; Mental Walk; Tab Finder.

У мене немає мети фокусуватись на одному великому проєкті з безліччю процесів, мені це просто не цікаво і швидко набридне. Мені подобається експериментувати. З 40 продуктів, які я запускав, 1/3 не мала жодного успіху, я їх просто закрив; а 1/3 мала певний успіх, і я продав ці продукти. Остання третина так чи інакше залишається в моєму портфелі.

Зараз у мене в роботі сім проєктів на різних стадіях розвитку. У деяких з них я працюю зі своїми партнерами. Ймовірно, частину з них я просто закрию через місяць-два, бо «не вистрілили» відповідно до базового маркетингу. Загалом мені комфортно працювати з не більш як пʼятьма проєктами одночасно.

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

Мій підхід до просування продуктів такий: я вибираю щонайменше пʼять різних каналів (наприклад, спільноти в Facebook, Reddit, поштові розсилки, прямі продажі, вихід на партнерів тощо) і вигадую для них десяток маркетингових експериментів, мета яких — зібрати перших користувачів для продукту. Тобто йдеться про 50 різних експериментів. Деякі з них спрацьовують одразу, а деяким потрібен час, щоб «розкритись», але в будь-якому разі я отримую відповідь на запитання: чи правильно я взагалі думаю про свого користувача і чи правильною мовою до нього звертаюся?

Про улюблені робочі інструменти

Мій найулюбленіший інструмент — це Trello. У ньому є все необхідне, причому й для відстежування особистих завдань. Вкладка з Trello закріплена в моєму браузері й відкрита весь час.

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

Звісно, якщо попросити ChatGPT створити твіттер-тред на тему «Як я запускаю і продаю проєкти?», він його згенерує. Але це буде узагальнена інформація без деталей.

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

Третя річ, яку я постійно використовую, — це Apps Script від Google. Це щось на кшталт середовища розробки в браузері, в якому я часто щось автоматизую: наприклад, у мене є скрипти, які збирають інформацію з певних API, куди я складаю дані, і раз на тиждень я отримую на пошту автоматизовані звіти про свої проєкти.

Інші інструменти я використовую за потреби. Зокрема, Carrd для запуску лендингів.

Про створення розширення для браузера на основі ChatGPT

Ідея була дуже проста: мати змогу згенерувати щось за допомогою ChatGPT у будь-якому текст-боксі без потреби логінитись в чат-бот, копіювати та вставляти текст, робити додаткові рухи. У межах цього експерименту я хотів дізнатися, чи здатний ChatGPT взагалі писати робочий код, подосліджувати можливості чат-бота на конкретному прикладі.

Важливо, що експеримент був достатньо простим, це не була SaaS-платформа, яку треба захостити на DigitalOcean з різними API. Це зайняло б купу часу. А Chrome extension, який вміє ідентифікувати команду, відправляти запит за API, отримувати запит і вставляти відповідь у текст-бокс — це достатньо проста функціональність, з якою, на мій погляд, ChatGPT мав впоратися.

Що я точно зрозумів одразу ж — потребу оновитися до ChatGPT Plus, щоб отримати доступ до GPT4, бо він вдесятеро кращий за безплатний GPT 3.5-turbo. Спеціальних промптів для формулювання завдання з написання коду я не шукав — описав простими словами, що хочу, щоби чат-бот написав код для браузерного розширення Google Chrome, який відстежуватиме поле введення тексту, і якщо після натиснення Enter у цьому полі буде певна команда, то він заміняв її на емодзі. Так виглядав мій MVP, з якого все почалося.

Так виглядав перший запит Стефурака до ChatGPT щодо створення розширення

На свій запит я отримав інструкцію від ChatGPT: «Цей код тобі треба запустити в Chrome як розпаковану теку в пункті меню „Розширення“». Я скопіював весь цей код, завів папочку на комп’ютері, склав туди отримані три файли, завантажив їх як розпакований extension і спробував в input просто запустити команду. І все. За дві-три ітерації текст в InputBox замінився на емодзі, і я подумав: вау, це справді працює!

Врешті я почав ускладнювати завдання: «Окей, тепер міняємо не на емодзі, а я хочу, щоб за API в консолі видавалась можлива відповідь на поставлене людиною запитання в текст-боксі».

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

Ось такими ітераціями я приблизно за 10 годин вийшов на робочий продукт, за допомогою якого зміг створити демо, на якому я пишу в Twitter допис «/ai, напиши мені твіт у стилі Навала Равіканта про щастя», і мій extension відправляє цей запит, отримує відповідь і вставляє замість промпту відповідь, згенерований твіт у стилі Навала Равіканта про щастя.

У результаті цього 10-годинного експериментування з кодом я почав розуміти, що роблять конкретні функції, і міг вже сам підказувати ChatGPT, що хочу отримати від кожної з них. А коли щось не розумів, просто закидав у чат-бот шматок коду і просив: «Поясни мені» або «Розстав коментарі до кожного рядка». Це був чистий learning by doing.

Так виглядала тека з розширенням

Найцікавіший момент — я хотів дати користувачеві розуміння, що коли він натискає Enter і тим самим відсилає конкретний запит, то промпт опрацьовується. Але через те, що інтерфейс розширення мінімалістичний, я придумав, що прогрес можна показувати крапочками, що одна за одною зʼявляються в текст-боксі під час опрацювання запиту. Перед тим як попросити ChatGPT реалізувати таку функціональність, я кілька разів намагався переформулювати запит, щоб той точно зрозумів, що мені потрібно. І чат-бот написав робочий код з першого разу!

Заради справедливості скажу: я не знаю, як цей процес написання коду з нуля може працювати зі складнішими речами. Найімовірніше, наразі ніяк. До того ж мені довелося звернутись до свого технічного партнера по одному з проєктів, адже я не міг дати ChatGPT коректну інструкцію щодо роботи з елементами React, на яких написані застосунки багатьох соцмереж, адже я не знаю цієї бібліотеки. А сама вона відрізняється від Web 1.0, де є text area, InputBox. ChatGPT з нею не справлявся. Тож я написав партнеру, чітко описав проблему, дав йому шматок коду, і він мені віддав готовий робочий. Він вніс корективи буквально в 5–7 рядків.

Крім написання коду, чат-бот ідеально впорався із заповненням заявки на розміщення мого розширення у Chrome Web Store якомога швидше. І його взяли туди з першого разу, опублікували буквально за кілька годин.

До речі, нещодавно я знайшов ідеальний спосіб застосування ChatGPT в особистому житті. Раніше в мене була проблема знайти фільм до перегляду. І нещодавно я знайшов класний підхід, як описувати чат-боту, що я хочу, не з погляду сюжету, а на метафізичному рівні, які переживання я хочу отримати — і він рекомендує просто ідеальні стрічки. Наприклад, я йому написав: «Сформуй мені список фільмів 2020–2021 року з позиції того, що у фільмах жахів про майбутнє режисери підсумовують колективні страхи нашого суспільства». І мені одразу захотілось переглянути всі запропоновані ним варіанти.

Віральний твіт про продаж розширення приніс мені багато нових контактів. Сотні людей писали і на поштову скриньку, і в приватні повідомлення з різними запитаннями та пропозиціями. Для мене було важливо відповісти кожному, тому що я знаю, як це неприємно — щиро писати свій запит і не отримувати відповіді.

Мою свідомість приємно перевернула ситуація семирічної давнини: я написав листа венчурному інвестору з Кремнієвої долини Джейсону Калаканісу, який збирає ангельських інвесторів у «синдикати». Я прочитав його книжку Angel: How to Invest in Technology Startups і просто написав йому листа подяки, тому що це був для мене справді класний досвід. І він мені відповів через годину! І ось ця відкритість, готовність випадковій людині з інтернету відписати на лист мене сильно вразила, тому я взяв за правило: хто б мені не написав, з чим би людина не звернулася, я відповім завжди.

Нині я працюю над новою ітерацію для Mental Walk, який ми запустили у 2021 році. Це цифровий щоденник для саморефлексії. Тоді ми зібрали для нього бібліотеку з запитаннями, які допомагали користувачеві подивитися на ситуацію під новим кутом. У новій версії Mental Walk виступає помічником з мислення. Він пропонує ментальні моделі для конкретних ситуацій вибору. Ментальні моделі — це практичні схеми, що пояснюють світ і допомагають швидко зорієнтуватися у ситуації. Наприклад, я використовую ментальну модель «Матриця Ейзенхауера» для пріоритизації завдань у проєктах.

Mental Walk працює як звичний нам чат-бот. Користувач описує ситуацію та отримує пораду, яку ментальну модель тут застосувати. Є безліч книжок, блогів і розсилок на цю тему. Я ж створюю інструмент, який навчає ментальних моделей через призму конкретних ситуацій, з якими користувач зіткнувся. Mental Walk не вирішує за користувача, він пропонує модель і кілька додаткових запитань, щоб виважено ухвалити рішення.

👍ПодобаєтьсяСподобалось23
До обраногоВ обраному12
LinkedIn



24 коментарі

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Дякую, цікаві деталі про створення цього розширення і ще й багато корисних висновків про бізнес.

дає змогу згенерувати написаний штучним інтелектом тзаїекст у будь-якому полі. Ігор розробив його лише за 10 годин, взявши у напарники ChatGPT, який і написав весь код.

«Дивись, я всього за 2 години домовився про покупку нових шин, помив автівку, придбав літню омивайку і записався на техогляд. Зміг би я це все зробити так швидко без автівки?»

Не совсем понятно, что насчет токена для api?
Во-первых, без прокси бекенда клиент будет видеть токен в запросе.
Во-вторых, запросы к api не бесплатные, если подписка lifetime, кто будет дальше платить за запросы?

Екстенш працює напряму з акаунтом користувача на chat.openai.com

То есть юзер должен предоставить свой токен или экстеншн работает как веб скрапер?

очень интересная статья и весьма классный подход, но верится с трудом учитывая что у гпт-4 лимит 25 сообщений на 3 часа.

Цікаво чи не конфліктує це розширення з грамарлі, яке теж працює з усіма інпутамі на сторінці?

А то з копірайтом такого продукту?

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

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

Зазвичай, ШІ не копіює результати інших авторів, а навчається та вдосконалює свої відповіді. Проте, використання результату штучного інтелекту можливе лише у випадках, коли не порушуються авторські права щодо цього об’єкту.

Законодавство України не визнає штучний інтелект як автора та не надає йому особистих немайнових прав. В окремих випадках може бути надана охорона, якщо буде доведений суттєвий внесок людини в створення відповідного контенту.

Тому все попереду та нас чекає ще багато судової практики)

Тобто Ігор мав зазначити десь в продукті, що він створений за допомогою OpenAI?

Creators who wish to publish their first-party written content (e.g., a book, compendium of short stories) created in part with the OpenAI API are permitted to do so under the following conditions:

The published content is attributed to your name or company.
The role of AI in formulating the content is clearly disclosed in a way that no reader could possibly miss, and that a typical reader would find sufficiently easy to understand.
Topics of the content do not violate OpenAI’s Content Policy or Terms of Use, e.g., are not related to adult content, spam, hateful content, content that incites violence, or other uses that may cause social harm.
We kindly ask that you refrain from sharing outputs that may offend others.
For instance, one must detail in a Foreword or Introduction (or some place similar) the relative roles of drafting, editing, etc. People should not represent API-generated content as being wholly generated by a human or wholly generated by an AI, and it is a human who must take ultimate responsibility for the content being published.

На сайті додатку (typeslashai.com/#pp) є наступне формулювання: “We use OpenAI’s API to get responses when there is a match with ’/ai + prompt + Enter’ in what you typed”.

ок, але це не зовсім те саме, що зазначити роль ШІ у створенні самого додатку

Дякую, надихає 🙏

Яка швидкість валідації гіпотез та мультизадачність... Класс!

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