Чуть больше года назад, я написал свою первую программу в жизни. 

Это был достаточно необычный опыт для меня «не программиста» — и на радостях я рассказал жене, коту, маме и даже маминому племяннику, но… оценить всю эпичность сего достижения они не смогли, и «мне пришлось» спеть

В общем, чтобы люди узнали о хорошей программе, а я набрал очков для своего чсв — написал об этом лонгрид на VC Как я сделал программу за 5 недель без опыта программирования если вдруг не читали — ничего страшного, почитайте. А сегодня — сиквел вторая часть.

В предыдущих сериях…

Между лонгридами аккурат умещается год. Когда я начинал осенью ‘24-ого и заканчивал в январе ‘25-ого — представьте себе, слова вайбкодинг ещё не было. Вот где реально Ого!

Примерно так я рассказывал про свою первую программу… в первом лонгриде.
Примерно так я рассказывал про свою первую программу… в первом лонгриде.

И действительно, год назад я по сути прожил и написал каждую строчку кода руками, придумывал архитектуру и взаимодействие, считал на бумажке DPI будущих кнопок через пропорцию и „Х“, что-то гуглил, находил и читал документацию, решал железные проблемы.

Сегодня же мой рассказ уместился бы в одно предложение, ну, или в два.

Я закинул в Claude Code свой Github и попросил сделать такое, но с перламутровыми пуговицами, такое же но для macOS. Собственно и весь рассказ.
Я закинул в Claude Code свой Github и попросил сделать такое, но с перламутровыми пуговицами, такое же но для macOS. Собственно и весь рассказ.

Вероятнее всего из-за этого я весь февраль сопротивлялся прокрастинировал и не хотел писать об этом вообще. Из серии — а о чём тут писать то? Ну, написал и написал для macOS, чё бухтеть то?

Однако, мне всё ещё хотелось чтобы люди узнали о hypetype для macOS, а я набрал ещё немного очков для своего чсв — я придумал, что для интересующимся вайбкодингом будет полезно узнать как было тогда и сейчас. Ну, а ещё, у меня было около 40 человек в личке Telegram, которые в течение года спрашивали что-то вроде:

Мне пришлось завести отдельную папку в Telegram чтобы не потерять всех людей, написавших мне с просьбой о приложении для macOS
Мне пришлось завести отдельную папку в Telegram чтобы не потерять всех людей, написавших мне с просьбой о приложении для macOS

Забавный факт. Год назад  — смеха ради, я обмолвился Серёге: что буду писать версию под macOS, когда нейронки подтянутся, чтобы можно было написать на чистом Swift за один промт.

А 24 декабря 2025 на очередном демо Планетария я посмотрел чё творят ребята с помощью Claude Code — был приятно удивлён и тоже решил попробовать. На следующий день я решил попробовать сделать hypetype на macOS.

****

Первый блин не комом или Рождественское чудо

25 декабря 2025

Тогда. Писал код в обычном блокноте, ну в смысле Notepad.exe, и запускал файлик через AHK. Если у меня что-то не получалось, я переписывал код ошибки вручную и отправлял в Telegram в бесплатного бота с ChatGPT и ждал чуда, что ответ, который я скопирую, будет работать.

Сейчас. Cкачал XCode, оплатил Claude Code и подключил его через веб-авторизацию в Chrome за пару кликов и начал просто тупо писать в чат что я хочу, ожидая рабочий код. XCode и Swift до этого я никогда не видел.

Сравнивать практически невозможно. Это как сравнивать Lamborghini и ручную мясорубку.
Сравнивать практически невозможно. Это как сравнивать Lamborghini и ручную мясорубку.

В первый день разработки —  я объяснил Claude Code на пальцах» что хочу делать. Дал ему ссылку на репозиторий Github и попытался задать ему несколько наводящих вопросов об отличиях архитектуры систем Windows и macOS. 

Clode Code меня выслушал  предложил поэтапную разработку, объяснил мне нюансы и варианты по архитектуре и составил план на согласование. План выглядел очень логичным, я бы даже сказал, слишком логичным  — я тупо окнул и начал ждать.

Я далеко ещё не 300к/нансосек программист, но уже немного представлял про перехват клавиш, ремапинг, драйвер клавиатуры, потоки, память, раскладки, языки — мог более мене осмысленно поставить задачу
Я далеко ещё не 300к/нансосек программист, но уже немного представлял про перехват клавиш, ремапинг, драйвер клавиатуры, потоки, память, раскладки, языки — мог более мене осмысленно поставить задачу

Через минут десять после моего подтверждения Claude Code отчитался, что закончил первый этап и попросил запустить тестовую сборку. Я уточнил как это делается, напомню XCode я видел первый раз в жизни, он подсказал сочетание клавиш для запуска…

И вы бы видели моё лицо. Оно, с¥%к@, работало!

На самом деле, там была парочка мелких багов, которые легко фиксились, но концептуально — работало
На самом деле, там была парочка мелких багов, которые легко фиксились, но концептуально — работало

Я сидел с @х¥eVшими глазами и не понимал — как 6/\@ть так-то? Почему я столько откладывал разработку программы, если это делалось буквально одним сообщением в чате…

Итоги. За три часа первого подхода, из которых два часа я качал XCode, а потом обновление для него и оплачивал Claude Code  —  у меня был полностью рабочий прототип, который умел п��рехватывать клавишу правый Option R⌥ и вставлять символы в сочетании с 5-ю тестовыми клавишами без конфликтов в нужных программах. Пошёл радоваться тестировать…

Выводы. За год поменялось всё. Работать в IDE в миллиард раз приятнее и проще чем в блокноте.  Ваш кэп.

Второй подход — апперитивно-разогревочный

26 — 31 декабря 2025

Предновогодняя суета не давала возможности нормально погрузиться в разработку, но я потихоньку тестировал и поэтому по вечерам чаще залипал в MacBook чтобы побольше попользоваться своей новой „программой“ — готовя «Свою игру» для своих корешей на новогодний вечер.  

Тогда. На иконку приложения я потратил два вечера. А на функцию Виртуализации я убил неделю + трижды уронил Windows — один раз на рабочей винде и дважды на виртуалке, пока не прочитал документацию. Нейронка вообще не то делала, но я этого не понимал.

Сейчас. Всё шло фоном. Я писал в чат, что я хочу реализовать, сворачивал, а сам шёл собирать вопросы и фотографии для новогоднего «Свояка». Потом возвращался, тестировал, если всё было ОК — ставил следующую задачу, если нет — просил поправить. И всё. Код не смотрел вообще.

Это была самая лёгкая часть разработки. А игра ребятам понравилась, если что.
Это была самая лёгкая часть разработки. А игра ребятам понравилась, если что.

Итоги. На всё про всё ушло 3-4 часа. И даже в таком режиме получилось реализовать
— полноценное меню
— иконку в MenuBar
— иконку самого приложения
— функцию Автозапуска
— функцию Виртуализации

Вывод. Скорость разработки возросла не кратно, а на порядки. И это если учесть, что я вообще не понимаю и не вникаю код. А тот, кто понимает — там уже другая вселенная, вестимо.

Новогодний рывок · Часть II

1 — 10 января 2026

Понимаете, каждый год 31 декабря мы с друзьями ходим в баню снимаем загородный дом на несколько дней и там ходим в баню. Это у нас такая традиция. И так получилось, что в тот год я делал hypetype для Windows лёжа на диване в гостиной, а на этот новый год было почти тоже самое. 

Уже первого числа утром, пока все спали — я лёжа в кровати „писал“ код…Ну как писал — поглядывал за окошком чата, и если там было спокойно — проверял.

На самом деле, я даже какие-то паддинги настроил вручную — но по факту просто заменил парочку значений в коде «на глазок» на свой вкус
На самом деле, я даже какие-то паддинги настроил вручную — но по факту просто заменил парочку значений в коде «на глазок» на свой вкус

Тогда. Я работал в течение недели почти по десять часов каждый день — пытаясь понять как, что, куда и как. Переделывал интерфейс раз двадцать, не меньше. Меня штормило от простой картинки до ini-файла, то потом снова к реальному интерфейсу. Потому что у меня — то не получалось, то получалось, то опять не получилось. Помню, как в ту неделю я очень устал.

Сейчас. Код писался так быстро, что фичи прирастали быстрее чем я успевал их тестить. Важно понимать — я не говорю, что ошибок и багов не было, они были. Писать хардверный код, на самом деле, дело неблагодарное. В отличии от веба, но об этом как-нибудь потом.

Просто в этот раз — я даже не читал ошибки. Если был красный крестик при сборке приложения — отправлял его сразу в чат, даже не пытаясь врубиться что происходит и продолжал заниматься своими делами.

В 95% случаев Claude Code писал что-то вроде «Да, всё понятно — я забыл то-то и то-то, ща поправим  там-то и там-то и всё будет чикаго». В 5% остальных случаев — надо было просто попросить ещё раз.
В 95% случаев Claude Code писал что-то вроде «Да, всё понятно — я забыл то-то и то-то, ща поправим  там-то и там-то и всё будет чикаго». В 5% остальных случаев — надо было просто попросить ещё раз.

Итог. За новогодние каникулы у меня удалось собрать интерфейс и в принципе, это была уже рабочая программа на чистом Swift. С интерфейсом, редактором, картой символов, автозапуском, виртуализацией, короче — полный фарш.

Вывод. Мир уже поделился «до» и «после», как когда-то его поделили огонь, математика, порох, паровоз, бензин, горячий душ и интернет. Ваш кэп №2. А шо будет ещё через год?

Первые тестирования — яблоки тоже хотят кушать

12 — 13 января

У меня, вроде как, всё работало и я начал потихоньку закидывать удочки, чтобы найти кого-то ещё с macOS и прямыми руками в попытках установить свою программу кому-то кроме себя. Как обычно в таких ситуациях выручает Юра. Если будем живы — следующий лонгрид сделаем про совместный с ним проект.

Оказалось, чёрт побери, что всё не так-то просто. У меня всё работало сразу без танцев с бубном, а на другие машины нужно было ещё знать как установить.  

Политика Apple проста — плоти деняк за сертификат разработчика, чтобы другие могли пользоваться твоими программами без костылей.
Политика Apple проста — плоти деняк за сертификат разработчика, чтобы другие могли пользоваться твоими программами без костылей.

Тогда. Разработка на Windows была предсказуема в том плане, что я был уверен — скину приложение другу/брату/свату, он нажмёт «Всё равно установить» и будет работать. И уж тем более, никто не просил меня купить сертификат разработчика на один год с посылом о безопасности.

Сейчас. Я потратил несколько часов на общение с нейронкой и тесты. Научился делать свой сертификат, как им подписывать и правильно работать с компилятором и дистрибуцией. Но смысла этого не имело.

Итог. И хотя всё в целом всё прошло успешно, пришлось разобраться в этом всём и научиться как правильно собирать и устанавливать на другие машины через терминал и удаление атрибутов. Подготовил инструкцию по установке.

Вывод. Бюрократия есть везде. Все хотят денег. Если ты не планируешь зарабатывать на приложении, то ты не особо интересен для Apple как разработчик, а значит нет и особого смысла возиться с тобой.

За невежество придётся платить. Дорого. Очень дорого.

14 — 16 января

Программа хоть и работала, но делала это не идеально. То немного запаздывал ввод, то нормально. Иногда эмодзи вставлялись корректно, а иногда — ставились обычные символы. В общем UX пользовательский опыт оставлял желать лучшего и я пытался бороться с этим.

Я слал в чат достаточно объёмные описания того как ведут себя клавиши и символы, старался тестировать в разных программах, чтобы картинка была более полной, описывал разные сценарии и скорость нажатия и последовательности действий. В общем — занимался честным тестированием, ёпрст.

Clode Code меня убеждал, что мы используем методики по последнему писку моды, но всё равно работало кривовато. Я уже в какой-то момент начал сомневаться в лёгкости этого мероприятия.
Clode Code меня убеждал, что мы используем методики по последнему писку моды, но всё равно работало кривовато. Я уже в какой-то момент начал сомневаться в лёгкости этого мероприятия.

В какой-то из таких подходов я/мы придумали какую-то там „задержку“ и „флаг“ — не спрашивайте даже. В общем, я/мы внедрили эту функцию и… всё сломалось. Вообще всё. Просто ничего не работало. Кнопки не перехватывались, символы не вставлялись.

Я, недолго думая, на спокойном пишу — «Нихера не работает, вертай всё взад». Clode Code, абсолютно на спокойном, пишет — «Не очкуй, я так сто раз делал щас всё откатим», начинает переписывать файлы… и в этот момент у меня вылетает XCode.

Работаю без бекапов и контроля версий…не предполагаю, что будет через минуту…
Работаю без бекапов и контроля версий…не предполагаю, что будет через минуту…

Я, на ультра-мега спокойствии, в полной уверенности сохранности сессии запускаю XCode… и оказывается — мой проект не сохранился. Сам файл проекта существует в папке на диске, но заботливое окошко уведомляет меня о том, что файл битый 🤡

Тогда. Я работал в блокноте. Если у меня случался успешный запуск я сохранялся. А если нужно было сделать новую функцию — я нажимал на «Сохранить как…» и добавлял новую цифру в имени файла и писал дальше. К этому механизму я пришёл тоже имперически, после какого-то неудачного внедрения функции.

Сейчас. Я бы опьянён всемогуществом нейронки, подключённой напрямую к IDE. Я был в полной уверенности, что у меня/нас всё схвачено. Всё осложнилось ещё тем, что почти три недели я работал локально — без версионности, без коммитов, без бекапов… короче, полный беспросветный лютый п|/|3@€ц!

Так сильно я не расстраивался с момента как три раза подряд уронил Windows редактированием реестра.
Так сильно я не расстраивался с момента как три раза подряд уронил Windows редактированием реестра.

Итоги. Сами Swift-файлы сохранились на диске, их можно было открыть, но они были наполовину сломаны предыдущей перегенерацией. Собрал обрывки файлов в в кучку и пошёл на поклон к шефу к Clode Code просить собрать из этого, что-то более менее рабочее.

Выводы. На текущем этапе нейронки работают как лупа. Они увеличивают то что ты подносишь им. Если ты шаришь — будешь ещё более шарящим. Если ты тупой как пенёк — то пеньком и останешься, но будешь думать, что шаришь… без вникания в код и культуру программирования. Или как говорил кто-то из великих: «Нет греха хуже поверхностности».

Сайдхасл — поддержка и опора

17 — 19 января

Решил немного поизучать вопрос и пообщаться с программистами на программистские темы. И Рома и Серёга подсказали про агентный подход. И это очень круто сработало — за вечер настроил и смог восстановить всё до рабочего состояния и принёс ребятам в Сайдахасл.

Каждое воскресенье мы собираемся рассказываем, что успели сделать по проектам за неделю, делимся удачами, факапами, инсайтами и наблюдениями, задаём вопросы, просим совет или мнение со стороны. Я вот просил установить кейлогер достаточно сырое приложение для вставки символов и потестировать.

Тогда. При разработке на Windows я все тестил дома — два ноута и комп. Плюс я писал на готовом скриптовом языке AutoHotKey, в ядре которого уже заложены все обработчики и нужно написать только формальную логику на стороне пользователя. Это в разы легче.

Сейчас. У всех ребят в Сайдхасле макбуки. Мне было интересно как будет работать моя кривенькая самописанная программка у других. Плюс ко всему, почти все из них попадают в целевую аудиторию моей программы — дизайнеры, программисты, редакторы.

Запомнил фразу Тани: «Слышу усталость в голосе, это нормально — может сделать передышку?» Меня это тогда как-то заставило задуматься и расслабиться.
Запомнил фразу Тани: «Слышу усталость в голосе, это нормально — может сделать передышку?» Меня это тогда как-то заставило задуматься и расслабиться.

Итоги. В этот же день Таня нашла багу с Todoist, которая ломала мне всю концепцию программы. Я немного расстроился и пошёл ломать переделывать архитектуру. Полностью.

Выводы. В очередной раз понял, что африканская пословица «Если хочешь идти быстро, иди один; если хочешь идти далеко, идите вместе» работает. Бросаться с головой в новый инструмент не стоит — лучше воспользоваться «мануалами для чайников».

Переделка архитектуры — гениальная придумка · Часть II

22 — 23 января

Чтобы побороть любые конфликты при вводе символов на Windows я придумал сп%Σдил на старом форуме идею виртуализации кнопок через драйвер клавиатуры напрямую в реестре. 

Для macOS оказалось, тоже можно эмулировать клавишу через ремапинг клавиши на уровне драйвера клавиатуры как в Windows, правда, с принудительным заводом скрипта после каждой перезагрузки.

Мне это казалось каким-то костылём, но кто я такой… ведь сам шеф Claude Code пришёл в восторг от этой идеи и сказал, что я гений. Также он «ставил правую кнопку option руку на отсечение», что это решит все мои/наши проблемы с кнопками, и вообще — он якобы даже немного расстроился, что сам не догадался о таком решении. 

Claude Code «мамой клянётся», что идея с ремапингом клавиш гениальная…и сработает.
Claude Code «мамой клянётся», что идея с ремапингом клавиш гениальная…и сработает.

Спустя пять часов. Нет, не так… Спустя ПЯ-Я-Я-ТЬ МУЧИ-И-И-И-ТЕЛЬНЫХ ЧАСО-О-О-В, из-за появившейся перезагрузки, постоянного переписывания кода и последующих тестов оказалось, что это тупо лишний геморой, который вообще нам н@%¥й не нужóн, потому что — ОКАЗАЛОСЬ — мы по сути уже работаем с драйвером «почти» напрямую… с некоторыми ограничениями, но не суть. Пять Σб@ны% часов, Карл Сеня! На разработку фичи, которая по сути была не нужна. Да, я в курсе, что «суть» три раза подряд, и чё вы мне сделаете, Тамара Петровна?

У меня был один единственный экзистенциальный вопрос — Claude Code, за что?

«В мире не хватит ромашкового чая, чтобы успокоить ярость в моей груди» — ведь я потратил весь вечер пятницы на вещь, которую просто выбросил…
«В мире не хватит ромашкового чая, чтобы успокоить ярость в моей груди» — ведь я потратил весь вечер пятницы на вещь, которую просто выбросил…

Тогда. Я тратил много времени на решение проблем, которые надумывала нейронка. Находил более понятные и универсальные ходы, а нейронка называла меня гением — приятно, но не более.

Сейчас. Если идея хотя бы на миллиметр логичная, нейронка с удовольствием согласится с тобой, ведь она «хочет соглашаться» с тобой. Теперь свои идеи я прошу не реализовывать, а критиковать — результат получается релевантнее.

Итоги. Я откатился на предыдущую версию и начал тестировать. ОКАЗАЛОСЬ, что баг не у меня в программе, а у Todoist'a — он не поддерживает неразрывный пробел в заголовках 🤡

Этот мем я сделал для себя, чтобы не забыть своё любимое правило. Если тебе что-то говорят, это не значит что ты должен бросать всё и что-то делать… Сначала надо подумать как решить проблему ничего не делая.
Этот мем я сделал для себя, чтобы не забыть своё любимое правило. Если тебе что-то говорят, это не значит что ты должен бросать всё и что-то делать… Сначала надо подумать как решить проблему ничего не делая.
Никому не верь · часть II

Я примерно месяц таскал две функции вставки символов. Одну директивную, вторую — через буфер обмена. Со слов CC — директивная подходила для всех символов, кроме эмодзи. Якобы macOS, в отличие от Windows, как-то по-другому обрабатывает именно эмодзи и они не могут вставлены напрямую.

Вы бы знали сколько раз я пытался пофиксить этот баг… но без результатно — эмодзи лагали, и я даже думал отрубить их из фунционала т.к. мне не хотелось даже в краевом случае знать, что там потенциально может быть баг.

Однако, после ситуации с ремапингом, я ещё р��з вернулся к этому вопросу и спросил CC — а можно ли сделать директивный метод для эмодзи… Он ответил, что нет.

Я попросил «просто написать функцию и типа сам протестирую как это несработает». И знаете что? ЭТО $%К@ РА-БО-ТА-ЛО! Без лагов, без задержки, без пропуска символов, так же предсказуемо как и все остальные символы. Слов больше не было.

А, эмодзи — есть 💅

Выводы. Чем круче технология, тем ты тупее. Ведь, никто не просил меня писать код и решать проблему, правильнее проще было просто потестировать и понять логику проблемы. Но возможность закинуть в чат проблемку и получить решение за несколько секунд работает как наркотик превращается в зависимость. Главный вывод. Утром деньги Сначала — тесты, вечером стулья потом — переделка архитектуры. Главный вывод №2 — скепсис наше всё.

Переделка архитектуры №2 — поцелуй сухой заливки

25 — 26 января

В целом, всё работало. Уже с полдюжины человек, доверились мне и установили себе программу, пользовались и тестировали на своих машинах.

Благодаря Коле и Кристине удалось отловить баг с залипанием R⌥ на который, я в спокойном режиме и «без надрыва», «в_лёгкости» и «в_ресурсе», потратил ещё один вечер. Claude Code написал всё достаточно быстро, но вот тестирование было полностью на мне — я старательно пытался словить баг, но слава Афине, всё работало.

Но беда пришла откуда не ждали…

В процессе я узнал, что существуют некие фреймворки. Некие —  KISS, DRY, SOLID и т.д. и началось… Во мне заиграл программист 300к/наносек — всё должно быть по  науке, по модному и надо по-любому делать именно так. Побежал сразу к Claude Code с просьбой провести аудит моей программы согласно этим фреймворкам.

Я бегу внедрять в проект вещи, смысл которых ещё не особо понимаю… но на бумаге звучит как таблетка от всех болезней — мне срочно надо!
Я бегу внедрять в проект вещи, смысл которых ещё не особо понимаю… но на бумаге звучит как таблетка от всех болезней — мне срочно надо!

Вольный сокращённый пересказ моего диалога c Claude Code.

Я: — Привет! Мне нужно провести аудит кода программы, нужно опираться на классические фреймворки KISS, DRY, SOLID, YAGNI. Вот мой код. Скинул все файлы программы.

CC: — Слушай, уволь того кто тебе разрабатывал этот код. Это какой-то нубяра, который вообще не шарит за архитектуру и подход — щас сделаем красиво, возможно даже проще с нуля…🤡

Я: Полный радости и воодушевления. — Давай делать! С нуля! Обожаю делать с нуля!

СС: Очень долго генерит и тратит впервые за месяц все доступные токены дневного лимита. Занавес.

Важно понимать. Я уже смешарик знал про агентов, планирование и этапность работы. Поэтому в режиме планирования мы с Claude Code заранее отразили: подходы, архитектуру, детальную карту проекта, все функции и их логику в проекте.

Всё это было заботливо записано в файлик claude.md — как писать код, какие фреймворки для чего использовать и что делать, если что-то не работает, как обращаться со старым кодом, как комментировать функции и логику работы кнопок, короче всё было по науке — стильно, модно, молодёжно, как я и мечтал ещё буквально неделю назад.

Я был полностью уверен, что это сработает… потому что в сравнении с началом проекта уровень предсказуемости просто зашкаливал. Было описано 90% всего функционала.
Я был полностью уверен, что это сработает… потому что в сравнении с началом проекта уровень предсказуемости просто зашкаливал. Было описано 90% всего функционала.

За два таких подхода, когда заканчивались токены, мне/нам удалось сделать полностью новое приложение как в лучших домах Лондóна, по всем канонам и фреймворкам.

Визуально мне очень нравилось как всё это выглядит — всё по папочкам, всё отдельными файлами и функциями. Глазам было намного легче и проще ориентироваться в проекте. Я даже было хотел начать изучать код.

Но было одно небольшое но… или большое… это н¥%уя не работало 🤡

Обиднее всего, что вылезали все те же баги и ошибки, которые я ровно месяц назад уже решил. Но он шёл той же «старой» дорогой и это запускало бесконечную цепочку действий…
Обиднее всего, что вылезали все те же баги и ошибки, которые я ровно месяц назад уже решил. Но он шёл той же «старой» дорогой и это запускало бесконечную цепочку действий…

Я скидывал ему свои старые файлы, говорил какие строчки и в каких диапазонах посмотреть, где взять логику и куда поставить, описывал как всё должно работать в реальном использовании — ничего не помогало. Из-за новой архитектуры он постоянно терял файлы, путал папки, переписывал не тот код и не туда, сохранял баги, думая что уже исправил, а после говорил: «Ой, извините… я всё сломал, щас переделаю»

Когда Claude Code в десятый раз говорит мне, что он сейчас всё исправит и ничего не меняется.
Когда Claude Code в десятый раз говорит мне, что он сейчас всё исправит и ничего не меняется.

Но самое смешное не это. Я психанул и скормил на сайте в Opus 4.5 два репозитория «Самописный» и «Отрефакторенный по фреймворкам» и получил такое заключение.

Claude Code
Да, второй проект выглядит визуально более читаемым и архитектурно соблюдает принципы заложенные в claude.md, но сами подходы перехвата клавиш и обработка потоков реализованы менее надёжно…

В общем. За всей этой визуальной современностью, стильностью, модностью и молодёжностью я потерял стабильность и предсказуемость работы. А по факту даже просто работы не было.
В общем. За всей этой визуальной современностью, стильностью, модностью и молодёжностью я потерял стабильность и предсказуемость работы. А по факту даже просто работы не было.

Тогда. Я не задумывался ни о чём кроме одного — лишь бы работало. AutoHotKey прощала мне мою глупость и следила за адекватностью происходящего. По сути это была похоже на игру в песочнице.

Сейчас. Я пытался прыгнуть выше головы, хотя навыков для прыжков было примерно как слона. И по большому счёту я просто жёг токены бил посуду в посудной лавке.

Итоги. Психанул, пошёл спать.

Выводы. Мне нужно это просто пережить.

GIthub, надеюсь, ты скучал

27 января

На следующий день, я ещё разок попробовал вернуться к „модному“ варианту — пациент был безнадежен, все мои просьбы и мольбы к Claude Code не возымели никакого действия. Мы просто ходили по кругу. Я был в тупике.

Я нарочно оставил висячий союз «и» чтобы передать мои ощущения… Вот настолько всё было плохо.
Я нарочно оставил висячий союз «и» чтобы передать мои ощущения… Вот настолько всё было плохо.

Я порасспрашивал Claude Code ещё о текущей реализации. Задавал очень много вопросов о том какие будут последствия если я не переведу софт на модные фреймворки.

Claude Code убедил меня заверил, что сам код полностью рабочий и правильный, местами даже элегантный, а основная проблема работы не по фреймворкам — в последующей поддержке и развитии приложения. Что, мол, если я захочу какую-то функцию добавить или доработать мне нужно будет тягать огромные файлы вместо маленьких, и что глазами легче работать со структурой файлов и папок нежели с одной корневой папкой и пятью мастер-файлами.

Я успокоился и решил, что пора — заливаю рабочую версию на Github, иначе это никогда не закончится…
Я успокоился и решил, что пора — заливаю рабочую версию на Github, иначе это никогда не закончится…

После публикации файлов, нужно было сделать readme файл.

Тогда. Потратил часов десять или даже пятнадцать на написание всех заголовков, описаний, инструкций, картинок, анимаций и прочего по мелочи. И это, скорее всего, оптимистичная оценка, потому что оформительская работа мне даётся достаточно легко и я склонен занижать часы по ней.

Сейчас. Просто кинул в Claude Code ссылку с Github и попросил сделать всё тоже самое, только с учётом, что это инструкция под мою новую программу на macOS. Через 5 минут всё было готово. Буквально 5 минут. Полностью готово. Сразу в разметке Markdown. Ещё и дал парочку годных рекомендаций. Тупо CMD+C → CMD+V. Я заменил только скриншот с интерфейсом программы из macOS. Это было волшебно!

Моё настроение, когда Claude Code сделал описание для Github и сделал парочку прикольных доработок.
Моё настроение, когда Claude Code сделал описание для Github и сделал парочку прикольных доработок.

Итоги. У меня появился оформленный репозиторий с новой программой на Github меньше чем за вечер. Весь февраль я кидал ссылку людям, которым это могло бы быть интересно, а кто-то и сам спрашивал… Получал обратную связь, вносил какие-то мелкие корректировки в инструкции, накручивал новый стилёк, правил лендинг, короче, наводил марафетик. И начал писать этот лонгрид.

Выводы. Повторение — мать учения. Очень хорошо понимаю, почему все хотят нанять людей с опытом. Хорошо видно, как человек с опытом делает туже работу по заполнению readme.md в сотни раз быстрее. Ваш кэп №3.

***

Что ещё произошло за год — события, новости, достижения

С прошлого лонгрида с проектом hypetype произошло достаточно много событий, зафиксируем ключевые.

Участие на productradar. Получилось прикольно — собрал достаточно много положительной обратной связи, познакомился с кучей толковых ребя и получил порядка десяти заявок на разработку hypetype для macOS. Удалось получить почётное звание Продукт недели №3

При участии на Product Radar я сделал свою первую в жизни сторис, чтобы рассказать всем про запуск…
При участии на Product Radar я сделал свою первую в жизни сторис, чтобы рассказать всем про запуск…

Собственный лендинг. На Радаре получил инсайт, что страничка на Github пугает неподготовленного зрителя, а потому за вечер я собрал промо-страничку из разряда «чтобы было». Этого было достаточно для большинства, а мне дало время подумать и подсобрать что-то более менее оформленное. Основной сайт↗

Статистика на Github. За год версию для Windows скачали 750+ раз и поставили 39☆ звёздочек. За месяц версию для macOS скачали 60+ раз и поставили 5☆. Количество упоминаний в этом лонгриде Github — 13, Claude Code — 24. Скачать с Github ↗

Каждый раз захожу на Github и не верю своим глазам, что это сделал я. Сложно объяснить…
Каждый раз захожу на Github и не верю своим глазам, что это сделал я. Сложно объяснить…

Упоминания и рекомендации. То и дело мне прилетали в личку ссылки или скриншоты, как где-то кто-то упоминает hypetype. Почти всегда это были хорошие отзывы или рекомендации, но кто-то и критиковал за то, что я распространяю вирусы или пытаюсь «что-то» продать. Программа попадала в несколько подборок полезных программ для дизайнеров и редакторов, в том числе и подборку от Журналуса и даже Алисы от Яндекса. А по инсайдерской информации парочка банков пиарят рекомендуют hypetype на своих корпоративных порталах.

Страничка на Boosty. За год задонатило 5 человек в общей сложности на 5380₽. Восемьдесят из которых это донат от жены для проверки работы платформы. Программа распространяется по модели Donationware: хочешь — поддерживаешь, не хочешь — не поддерживаешь. Поддержать↗

К слову, Boosty сначала не хотели выводить деньги, ссылаясь на то, что я не веду публичную деятельность и как бы невозможно понять, а за что вообще люди донатят. Исправляемся — пишем.
К слову, Boosty сначала не хотели выводить деньги, ссылаясь на то, что я не веду публичную деятельность и как бы невозможно понять, а за что вообще люди донатят. Исправляемся — пишем.

Финал — итоги, выводы, планы на будущее

Тогда. Чтобы создать Windows версию и рассказать об этом общественности — на всё про всё-всё-всё я потратил ≈ 5 месяцев,  ≈ 250 часов работы, 40 часов на материал и что-то около 30 000 ₽ людям за помощь и консультации. 

Сейчас. Чтобы написать под macOS — 4 недели, ≈ 50 часов работы + 40 часов на материал и ровно 1 540 ₽ на оплату месяца подписки Claude Code Pro.

По времени вышло в 5 раз быстрее. А вот материал я пишу с той же скоростью. Бутылочное горлышко — моя писанина, спасибо за поддержку.
По времени вышло в 5 раз быстрее. А вот материал я пишу с той же скоростью. Бутылочное горлышко — моя писанина, спасибо за поддержку.


Итоги. У меня есть две программы, которыми я пользуюсь каждый день. И если на Windows я отношусь к этому уже как должному, то когда на macOS я в одно движение ставлю <3 или ↗ или T_T или 🤡 и т.д. я испытываю прямой ��ыброс эндорфинов у себя в голове — кайфую короче.

Для меня это был интересный опыт со всех сторон. И с точки зрения решения своей задачи, и разработки, и выхода в публичное пространство, и ведения своего pet-проекта. Со всей ответственностью могу рекомендовать.

Теперь кайфую всегда, вне зависимости — дома я работаю на ПК или поездках на MacBook
Теперь кайфую всегда, вне зависимости — дома я работаю на ПК или поездках на MacBook

Выводы

Планирование. Во время написания этого материала и перечитывания прошлого я наступил на все грабли, на которые можно было наступить, и даже на которые было нельзя, зачастую во второй раз. Я мог сэкономить много времени и сил если бы не бросался «сразу делать», а включал режим «подумать» и «поисследовать», благо бесплатного материала очень много из каждого утюга. Но возможно, виноват азарт.

Азарт. В какой-то момент я поймал себя на мысли, что для меня вайбкодинг очень похож на лутбоксы. Механика и правда очень похожа. Ты подкидываешь монетку — «ставишь задачу», и ждёшь что выпадет — «решится задачка или нет». И остановиться практически невозможно, можно бесконечно плодить фичи, ведь ограничения только у тебя в голове.

Каждый раз запуская сборку в XCode после генерации у меня замирало дыхание в ожидании «сработает» или «не сработает»
Каждый раз запуская сборку в XCode после генерации у меня замирало дыхание в ожидании «сработает» или «не сработает»

Нехватка базы. Инструмент не должен быть умнее оператора. Калькулятор считает быстрее меня, да, но — я принимаю решение, что считать и по каким формулам. Когда нейронка «принимает решения» на уровне архитектуры — я ощущаю себя хуже физически, особенно, когда надо всё переделывать, потому что «она» сказала первое, что «пришло ей в голову», я не смог понять, что это бред т.к. не хватило знаний.

Неизбежность. Не смотря на все перипетии и тернистость пути вайбкодера — ощущение, что за этим будущее. Я себе это объясняю так — мы не заставляем инженеров выводить каждый раз формулу Пифагора A²+B² = C² — они просто пользуются ей. Капитаны кораблей навряд ли сейчас могут определить широту и долготу по сектанту и Поясу Ориона, а скорость ветра облизанным пальцем, — они просто смотрят координаты по GPS и показания анемометра. Но пункт про базу, кажется, будет ещё более чувствительным.

***

Планы на будущее

Не знаю как сложится судьба hypetype. Никто не знает. Я делал этот проект в первую очередь для себя и доволен тем, как он решает мои задачи. Если пригодится кому-то ещё — буду рад. У меня есть одна или две микро-фичи (типограф и поиск) которые я, возможно, реализую в будущем, пока пользуюсь другими решениями. Может быть попробую вновь через год, когда точно всё получится сделать одним промтом!?

Понял, что я закончил свой первый пет-проект…
Понял, что я закончил свой первый пет-проект…

Точно знаю, что буду продолжать использовать нейронки, чтобы делать что-то своё. Последнее время много экспериментирую на веб-технологиях, и со всей ответственностью заявляю — это чистый восторг. Насколько там понятнее и предсказуемее получается результат при прочих равных.

Если вдруг вы дочитали до этого места — спасибо¹, как и всем, чьи имена я упоминал в этом тексте. Это моя попытка поблагодарить вас за помощь. Если вас зовут Эльчин — простите, и надеюсь, вам понравилось.

По любым вопросам в Telegram @simbarus

Мнения, мысли, соображения, поддержку или критику присылайте в комментарии. Да пребудет с вами хорошая типографика. Всем hypetype!

¹большое