Блог / Стаття 002
Blefnk: коротка історія, як ми прийшли сюди
Приблизно у 2008 році друг на своєму ПК показав мені неймовірну річ: інтернет. У нього він був. У мене ні.
Тож я зробив те, що здавалося цілком логічним: створив папку Internet Explorer, поставив їй відповідну іконку, а всередині облаштував власні «сайти». Папки, TXT-файли з випадковими текстами, картинки з комп'ютера й малюнки, які я сам зробив у Paint. Що ще потрібно для інтернету?
Потім похвалився іншому другові, що в мене є інтернет!
Технічно я не збрехав. Просто мій інтернет працював виключно офлайн. 😅
Мене звати Назарій Корнієнко. Можна просто Назар, а в мережі я частіше blefnk. Зараз я будую Reliverse, Rse та Bleverse. Але до всіх цих назв були Windows XP, GTA, власні сервери, повільні сайти й постійне бажання щось переробити під себе.
Це не ідеально точна хронологія: деякі роки пригадую приблизно, а до окремих проєктів повертався по кілька разів. Радше історія про те, як одна цікавість тягнула за собою іншу.
У цій статті: Перший інтернет: Windows XP, ігри й папки · SA:MP, Pawn і народження Blefonix · Коли навчання раптом стало цікавим · Третій «інтернет»: React і сучасний веб · WordPress, фриланс і мегабіт терпіння · Коли Bleverse вже намагався об'єднати різні світи · Relivator, Versator і шаблон, який хотів бути всім · Citty, Consola і синдром «зроблю свою обгортку» · Від reliverse до Rse · Перші «розмови» з AI в терміналі · Як усе це стало Bleverse · Замість висновку
Перший інтернет: Windows XP, ігри й папки
Здається, вперше я сів за комп'ютер кузена близько 2005 року, коли мені було років п'ять. Мій стартовий набір: Windows XP, GTA Vice City, Max Payne, Tony Hawk's Pro Skater 4, NFS Underground і Paint.
Так, вікові обмеження ігор у нашому селі на заході України тоді не були головною темою сімейних дискусій. 😄
Спершу я грав і малював. Потім мене дедалі більше цікавило, як усе це влаштовано і чи можу я зробити щось схоже. Справжнього інтернету вдома довго не було. Зате були папки, іконки й фантазія.
Приблизно у 2011 чи 2012 році в мене нарешті з'явився доступ до справжньої мережі. Десь на YouTube або в статті я побачив, що можна подивитися код елемента вебсторінки. За знайомим інтерфейсом виявилися HTML, CSS і JavaScript.
Тобто сайт можна було не лише відкрити. Його можна було зробити.
Я почав гуглити, копіювати приклади, змінювати їх і дивитися, що зламається. Згодом я дійшов до PHP, почав знайомитися з базами даних через phpMyAdmin і зробив першу систему реєстрації. Різницю між клієнтом та сервером я ще не дуже розумів. Але коли кнопка щось зберігала, це вже здавалося дивом.
SA:MP, Pawn і народження Blefonix
У 2013 році я відкрив SA:MP, мультиплеєрний мод для GTA San Andreas, а разом із ним мову Pawn. Дивився уроки, змінював чужі приклади, пробував писати власний гейммод.
Так виник Indigo RolePlay. Я кілька разів закидав його й починав знову. У 2020-му взявся переписувати все з нуля. Назва теж еволюціонувала: Blefonix Metaverse, Blefonix RP і зрештою просто Blefonix. Сьогодні цей задум вийшов далеко за межі початкового SA:MP-сервера. Але це вже історія для окремої статті.
І ось деталь, яку я нещодавно відкопав у власній Git-історії: 26 жовтня 2021 року під моїм старим ніком blefony з'явився публічний репозиторій Blefonix RolePlay. У його README ми писали, що хочемо не чергову копію популярного RP-моду, а гру, яка дає людям не тільки розваги, а й цікаві ідеї та корисний досвід. Важливо: це був командний задум, не моя одноосібна робота.
Тоді Blefonix уже намагався вирости за межі самої GTA. У листопаді 2021-го ми працювали над сайтом із документацією та інформацією для гравців. Мені вже було цікаво не лише писати логіку сервера, а й створювати все, що допомагає людям користуватися проєктом.
На початку 2022-го в 20 Reasons to Play Here ми описували ширший задум Blefverse: кілька ігор, спільний прогрес гравців і економіку, де товари не виникають нізвідки, а мають власний шлях виробництва й доставлення. Більшість цього була баченням, а не готовими функціями. Детальну історію залишу для Blefonix, а тут згадаю маленьку приємність: у статті з двадцятьма причинами знайшлася й двадцять перша, про open source. 😄
Саме Pawn допоміг мені вперше відчути, наскільки приємними бувають зрозумілі назви функцій. Я ще не знав словосполучення Developer Experience (DX), але вже любив код, який читається майже як пояснення людською мовою.
Паралельно записував YouTube-відео про Minecraft, GTA 1, GTA: San Andreas та SA:MP. До 2015 року в інтернеті я був MrNetheless, а в SA:MP використовував Naz_Korny (пізніше цей нік змінився на Trevor_Fair). Згодом захотілося нового імені. Так з'явився Blefonix, а вже з нього виросли blefony та blefnk.
Зараз смішно бачити, скільки тих старих назв знову виринає в моїх проєктах. Тоді ніякого грандіозного плану, звісно, не було.
Коли навчання раптом стало цікавим
Повернуся трохи назад, бо паралельно з іграми відбувалася ще одна важлива для мене історія.
До 2017-го мене важко було назвати старанним учнем. Але десь у 2016–2017 роках, коли я навчався в училищі, щось клацнуло. Я раптом по-справжньому захопився українською та зарубіжною літературою, інформатикою і навіть Microsoft Word.
Мені сподобалося не лише читати чужі історії, а й писати власні. Так я написав приблизно 25 сторінок того, що вже тоді назвав «Блеверс: З-під контролю» (Bleverse: Out of Control). Ніякої платформи ще не було: Bleverse тоді існував як художня історія.
Згодом ті сторінки загубилися. У 2024 році я повернувся до історії та за спогадами й кількома старими скриншотами відтворив основу рукопису. Із нього згодом виросли нові розділи й окремі історії. Саме цей шлях, від учнівських сторінок до Bleverse Read, заслуговує на власну статтю.
Про книги та деякі дивні зв'язки між ними ще розповім окремо. А поки просто запам'ятай: Bleverse починався не з вебзастосунку.
Третій «інтернет»: React і сучасний веб
Я вже встиг торкнутися WordPress, трохи Laravel та інших інструментів. Приблизно від 2017 року почав знайомитися з npm, Yarn і React. У старих нотатках роки цих відкриттів трохи плавають, тому не буду робити вигляд, що пам'ятаю точну дату кожного першого install.
Мене буквально вразило, що сайт може переходити між сторінками без повного перезавантаження вкладки. Після звичного вебу це відчувалося як новий інтернет.
У різний час я дивився CS50. Так і не закінчив. Але тепер у мене є маленький доказ, що це було не просто «колись дивився»: у червні 2022 року я закомітив Scratch-завдання нульового тижня. Того самого місяця в GitHub з'явилися мої навчальні експерименти з Python, C# та C++. Один із найстаріших збережених Python-скриптів просто додавав три числа, які вводила людина. Сьогодні я дивлюся на нього з ніжністю. 😄
Досі думаю колись повернутися до сучасного випуску CS50 й пройти його повністю.
Ще раніше я іноді уявляв собі магічну сутність, здатну робити за мене різні речі. З роками фантазія ставала технологічнішою. Тепер AI-агенти є звичайною частиною мого робочого дня, але тоді це було радше дитяче «було б круто, якби…».
Приблизно наприкінці 2010-х я відкрив і Next.js. А поруч змінювалися мої звички щодо пакетних менеджерів: від npm install до Yarn, pnpm і згодом Bun. Кожен показував інший спосіб працювати із залежностями, але жоден не був чарівною кнопкою «більше ніяких проблем».
До речі, в Git я вже знайшов сліди використання Yarn у 2021 році та pnpm у Relivator за серпень 2023-го. Це підтверджує використання, не точні дати першого знайомства. А всю історію з Yarn Berry, Plug'n'Play, pnpm і Bun залишу для окремої статті: вона вже хоче бути головною, а тут у нас іще кілька років життя попереду. 😄
WordPress, фриланс і мегабіт терпіння
У 2020 році я зробив на WordPress фриланс-платформу Blefonix. Навіть витратив трохи грошей на рекламу в Facebook і Google.
З'явилося кілька користувачів. А от знайти одночасно достатньо виконавців і замовників, щоб вони могли зустрітися на платформі, в мене не вийшло. Зрештою я закрив експеримент.
Деякі ідеї з нього згодом повернулися в задумі Bleverse Opportunities. У мене проєкти іноді не помирають. Вони роками чекають на нову назву й другий шанс.
Приблизно у 2020–2023 роках я багато читав про UI/UX, доступність та інклюзивний дизайн, зокрема для дипломного проєкту. Згодом опублікував його текст у блозі. Поки писав роботу, дедалі більше переконувався: немає одного «середнього користувача», під якого можна зробити інтерфейс і забути про всіх інших. Люди мають різні можливості, звички й обставини, а хороший дизайн повинен це враховувати, не додаючи зайвих перешкод.
Тоді ж активніше працював із клієнтськими WordPress-сайтами. Але в гуртожитку інтернет іноді ледь дотягував до 1 Mbps. Я без перебільшення міг заснути, поки відкривалася чергова сторінка адмінки.
Це не найкращий аргумент для вибору технологій, але після кількох таких історій я втомився від WordPress і PHP та знову зосередився на TypeScript і Next.js. 😄
Коли Bleverse вже намагався об'єднати різні світи
Стара публікація 1 серпня 2023 року нагадала мені про Bleverse Community. Разом із Петром Мельником ми тоді представляли задум соціальної мережі, простору для роботи й фрилансу та різних Bleverse Spaces. Той анонс був набагато сміливішим за стан готових функцій: там вистачало обіцянок, які я сьогодні сформулював би значно обережніше. Але сама спроба знайти спільний дім для різних проєктів була справжньою.
І це був не єдиний напрямок. У серпні 2023-го я писав про Bleverse Utils, набір вебінструментів, та MF Studio, музичну платформу для творчості й навчання. Поряд росли Relivator і мої експерименти з бібліотеками. Так, я вже тоді намагався обійняти майже весь інтернет. І дуже дивувався, чому в добі лише 24 години. 🫠
Relivator, Versator і шаблон, який хотів бути всім
Після WordPress мене сильно зацікавив eCommerce. Хотілося мати сучасну основу для магазинів, не витрачаючи купу часу на стартове налаштування.
Так з'явився Relivator. Перший великий Git-коміт за 12 серпня 2023 року уже містив Next.js 13, TypeScript, Drizzle та цілу купу UI-бібліотек. У README проєкт називався Bleverse Relivator: Website Builder, а в конфігурації була адреса relivator.bleverse.com. Виявляється, я поєднував ці назви набагато раніше, ніж пам'ятав.
Назву Reliverse я спершу уявляв як Relivator Universe. Пізніше народився Versator, із дещо стриманішим стеком. Його репозиторій з'явився у 2024-му, а коміт про перехід від Relivator 1.3.0 до Versator датований березнем 2025-го. Так, назва трохи видає, я тоді був великим фанатом Vercel. 😄
Relivator поступово зібрав власну спільноту на GitHub. Останнім часом я розвивав його не так активно, як хотілося б, але мрію повернутися і до нього, і до Versator.
А ось смішна частина. Приблизно у 2023-му мені здавалося блискучою ідеєю поєднати в одному шаблоні Drizzle і Prisma, PostgreSQL, MySQL та SQLite, NextAuth і Clerk, щоб людина могла обирати, що їй потрібно.
Теоретично гнучко. Практично я почав замислюватися, чи не потрібен мені інструмент, який не просто створює проєкт, а допомагає підтримувати його після генерації.
Із цього запитання виріс наступний великий поворот. До речі, у Relivator 1.2.6 за серпень 2024-го в package.json уже був цілий зоопарк команд для перевірок, міграцій, оновлень і залежностей. Не кожна з них була хорошою ідеєю, але напрямок моїх захоплень простежується безпомилково.
Citty, Consola і синдром «зроблю свою обгортку»
У Node.js та TypeScript я тоді ще почувався не настільки впевнено, щоб легко вигадати хороший CLI з нуля. Переглянув Commander.js, yargs, спробував Commander, але його API здався мені складнуватим, особливо для новачка.
Потім натрапив на Citty від unjs. І просто закохався в підхід. Дякую команді unjs за ці інструменти. ❤️
Для виводу в термінал я знайшов Consola. Winston здавався надто важким для моїх задач; окремі бібліотеки допомагали з кольорами, щоб не писати ANSI-коди вручну.
А потім у мене почалася bundlephobia. Я почав придивлятися до залежностей і ваги пакетів та дедалі частіше думати: «Може, написати маленьку власну обгортку?»
Спочатку, наскільки пригадую, це були експерименти навколо console.*, які я робив за допомогою статей, відео та тодішніх GPT-3.5/GPT-4. Потім ми з ChatGPT вчилися публікувати бібліотеки в npm. Для маленького пакета доводилося повторювати дивовижно багато рутини.
Я познайомився з unbuild, а тоді подумав: що, як CLI зможе сам збирати й публікувати мої пакети?
Починаєш із бажання прибрати рутину. Закінчуєш новим проєктом. До цього мотиву ми ще повернемося. 🫠
Від reliverse до Rse
Поступово CLI розростався. Я назвав його reliverse, створив організації на GitHub і npm, зокрема заради імені @reliverse/cli, а поруч з'явився @reliverse/prompts. Із цих експериментів згодом виросли Rempts, Relico, Relinka та багато інших речей.
Зараз уже можу звірити принаймні частину історії. У старому Reliverse за березень 2024-го README пропонував запускати ранній CLI 0.3.0 через go run .. А 20 квітня 2024-го я вже комітив перехід CLI до TypeScript і Bun. Старий Reliverse змінював і мову, і архітектуру, і власне призначення.
Того ж року з'явився @reliverse/prompts, ранній предок Rempts, ще насамперед бібліотека інтерактивних запитань для CLI. Лише пізніше вона стала частиною ширшої системи команд, плагінів і контекстів.
Наприкінці 2024 року була ще одна спроба пояснити все це людям: Advent of Bleverse, серія публікацій про різні частини екосистеми. Навіть її початковий календар не витримав кількості задумів. У збереженому тексті Advent я вже розділяв два напрями: Advent of Reliverse більше для розробників і open source, Advent of Bleverse для ширшої аудиторії та продуктів, якими можна користуватися без знання TypeScript. Схоже, я шукав межу між нинішніми Reliverse та Bleverse ще тоді. Щоправда, цей текст доповнювався пізніше, тому не приписуватиму кожне його формулювання конкретному дню грудня 2024-го.
Там же був іще один старий задум: reliverse.org як чат із Reliverse AI, який із часом мав допомагати створювати, запускати й розвивати проєкти разом із Reliverse CLI. Зверни увагу на «мав»: це була публічна концепція, не свідчення того, що весь такий workflow уже працював. Зараз кумедно помічати, як частина тих питань знову постає в роботі над Rse, хоч самі рішення вже зовсім інші.
Згодом я пробував навчати програмуванню через маленькі історії: сайт ставав будинком, проєкт автомобілем, а технічний туторіал потроху отримував власний лор.
Тоді я ще не вмів чітко відділяти ідею, прототип, анонс і те, чим незнайома людина може користуватися сьогодні. Зараз намагаюся. Про це ще поговоримо в Article 004 (заплановано 2026-11-18).
Не хочу вдавати, що все це народилося за одним ідеальним планом. Дещо з'являлося, зникало й поверталося вже в іншій формі. І хронологію деяких назв я зараз відновлюю з пам'яті.
Коли захотілося відокремити збірку пакетів від залежностей самого CLI, я взявся за окремий інструмент. Спочатку назвав його Relidler, але згодом зрозумів, що не кожному інструменту пасує префікс Reli.
Так з'явився Dler. Тут ще й заховався каламбур: bun + dler = bundler. Тепер знайшов і точну дату перейменування: 4 травня 2025 року. Із Bun я вже активно експериментував, тож це був каламбур із цілком свідомого захоплення, а не пророцтво. 😄
А бажання працювати з багатьма власними пакетами, не видаючи незавершені експерименти за готові npm-релізи, згодом привело до RPR.
Колись усе починалося з красивішого повідомлення в терміналі. Тепер поруч існувала інфраструктура для цілої екосистеми.
І ще одна практична проблема: мені набридло набирати reliverse в терміналі. Так з'явилося коротше rse. 25 травня 2025-го у Git уже є явне перейменування @reliverse/cli на @reliverse/rse. На той момент Rse поступово отримував AI-функції, але ще не був тим середовищем, яке я хочу побудувати зараз.
Згодом справа стала значно більшою за нову назву CLI. Я вже хотів працювати не лише з командами, а й з проєктами, інструментами, моделями та агентами в одному середовищі. Тому сьогодні Reliverse для мене насамперед екосистема інструментів, а Rse є одним із способів користуватися ними й допомагати людині виконувати роботу. Їх не потрібно зливати в один продукт.
Перші «розмови» з AI в терміналі
До повноцінних агентів я експериментував із доволі різними речами: Claude 3/3.5 у Cursor, Vercel AI SDK, раннім Reliverse AI та простими CLI-реакціями на повідомлення.
Деякі реакції були взагалі без моделі. Тепер я навіть знайшов конкретний приклад: мій conversation.py від 5 жовтня 2023 року. Там був словничок готових відповідей: на name програма представлялася як простий AI, створений Bleverse; на bye чемно прощалася й завершувала роботу. Це був rule-based chatbot, не LLM.
Виглядало, ніби AI надзвичайно ввічливий. А модель навіть не потрібно було викликати. 😂
ChatGPT свого часу став для мене чимось дуже близьким до тієї дитячої мрії про помічника, який розуміє завдання. Але я також швидко дізнався, наскільки впевнено мовні моделі можуть помилятися.
Тепер AI допомагає мені досліджувати, редагувати й програмувати. З редактурою цієї статті теж. Але спогади тут мої: із власних чернеток, нотаток і того, що вдалося пригадати. Я не просив модель вигадувати за мене біографію.
Як усе це стало Bleverse
У якийсь момент я зрозумів: мені мало будувати інструменти для створення інструментів. Хотілося робити самі речі, якими люди користуються: застосунки, ігри, творчі середовища, спільноти.
Щоб не потрібно було знати Bun, TypeScript чи мою архітектуру, аби користуватися цими речами, створювати щось своє або просто розважатися.
Так старі ідеї Blefonix і Blefverse, рукопис, який уже носив ім'я Bleverse, експерименти з музикою, спільнотою, Relivator та новіші інструменти поступово почали сходитися в щось ширше: сучасний Bleverse. Не все це було задумано як єдине ціле із самого початку. А coding agents, які дозволяли рухатися швидше, одночасно навчили мене ще однієї речі: згенерувати багато коду набагато простіше, ніж відповідально відкрити й підтримувати його.
Це вже сюжет Article 003 (заплановано 2026-11-16), про те, як я майже запушив рік роботи одним комітом.
Замість висновку
Дивлюся на цю історію й бачу низку дивних поворотів: GTA привела до Pawn, захоплення літературою подарувало назву й перший рукопис Bleverse, фриланс і повільний інтернет повернули мене до TypeScript, а любов до зручного CLI поступово виросла в Reliverse. Зрештою ці різні нитки почали переплітатися.
Мабуть, спільна нитка все-таки існує: я люблю, коли інструменти зрозумілі, а люди можуть створювати більше, не витрачаючи всі сили на рутину.
У дитинстві я зробив інтернет із папок, бо не мав справжнього. Сьогодні вже можу відкрити справжній bleverse.com, хоча в голові ще повно речей, яких там поки немає.
І тепер найцікавіше: поступово втілювати ці ідеї й відкривати їх іншим. Уже не тільки для себе.
Автор: blefnk · Мова: Українська · Серія: Introducing Bleverse
()
Створено за допомогою BVF та UIR. Обліковий запис не потрібен. RSS · GitHub · Community