Дневник разработки · Часть 0

Сокращение, три пет-проекта и одно приложение на пяти кадрах в секунду

Давайте без интриги.

Эта история начинается не с идеи.

Она начинается со звонка, после которого три с лишним года закончились одним днём.

Никаких выводов о том, как надо.
Никакой методички «как пережить сокращение».
Просто как это было.

🧊 Февраль

Февраль 2026-го. Реорганизация. Несколько месяцев до этого я просидел на бенче — и вот финал.

Три года в одной системе — это не только зарплата.

Это привычка.

Ты знаешь, где что лежит.
Ты знаешь, кого спросить.
Ты знаешь, как здесь принято делать хорошо.

А потом этого нет, и выясняется, что часть твоей уверенности была не твоей, а системной.

(И ещё одна деталь, которую я тогда недооценил: эти три года я работал почти без ИИ. Просто руками. В 2026-м это внезапно оказалось важным обстоятельством.)

🎤 Собеседование — это отдельная дисциплина

С 2022 года я не сидел на этой стороне стола.

Я сидел на другой. Сам проводил собеседования — немного, но проводил. А мои собственные были внутренними: переход с проекта на проект.

Выяснилось, что это не помогает совсем.

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

И совершенно разучился его давать.

Три года — ровно тот срок, за который рынок успевает стать другим, работа успевает стать другой, а собеседования остаются тем же, чем были всегда: отдельной дисциплиной, к которой готовятся отдельно.

Я не готовился.

Дальше был месяц хаоса.

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

Я не буду делать вид, что провёл этот месяц продуктивно.

А потом дошло простое.

Мне нечего показывать.

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

Значит, нужно что-то, что можно открыть и показать.

🧪 Значит, надо что-то показывать

Начался занимательный период поиска того, что стоило бы сделать или починить.

(Чинить я в тот период был готов всякое. Однажды в том же духе я чуть не превратил свою PS5 в кирпич — но это отдельная история, и урок оттуда выучен.)

Первым был config-driven-testimonials. Максимально нескромный проект: конфигурируемый шаблон для отзывов бывших коллег, наполненный настоящими отзывами за последние лет семь. Полигон, на котором я разобрался, как выкатить свой пакет в NPM и как всё это автоматизировать.

Одна зависимость. У неё своя одна — zod. Там нечему протухнуть и нечего выдернуть из-под ног. Спустя пять месяцев это то, чем я тихо горжусь до сих пор.

Какое-то время им даже кто-то пользовался.

Одна зависимость, WCAG 2.2 AAA, Lighthouse 100 из 100 — и двадцать версий, потому что с первого раза чисто, конечно, не вышло. Загрузок в неделю: ноль. Всплеск, впрочем, настоящий.
Одна зависимость, WCAG 2.2 AAA, Lighthouse 100 из 100 — и двадцать версий, потому что с первого раза чисто, конечно, не вышло. Загрузок в неделю: ноль. Всплеск, впрочем, настоящий.

И там же я понял первую вещь, которая потом пригодилась дважды.

В пет-проектах важно не только доделать. Важно вовремя бросить.

Я довёл его до разумной кондиции и переключился.

Вторым был PlayShelf. Он начинался как тестовое задание, а потом перерос сам себя.

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

Но фасад был там не самым интересным.

Внутри лежало задание со звёздочкой: заставить соседние вкладки разговаривать друг с другом. Без бэкенда. Вообще.

Процентов тридцать времени я провёл не в коде, а в проектировании: в паре с Клодом раскладывал, как оно должно работать и как сделать по кайфу.

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

Тестовое задание не обязано быть красивым.

Это — было.

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

До работы не дошло: через полторы недели компания остановила найм.

Так я применил то же правило второй раз и вернулся в загадочный мир рассылки резюме.

🐭 И снова формы

Если вы откликались в 2026-м, вы знаете.

Компания.
Город.
Даты.
Стек.
Абзац про то, чем вы там занимались.

Те же шесть полей. Десятая форма за день.
Те же шесть полей. Десятая форма за день.

Потом следующая форма спрашивает то же самое. В другом порядке. В другом поле. С другим лимитом символов.

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

Логичный ход — автоматизировать.

Я не стал.

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

Так что я решил не автоматизировать, а ускорить.

Мне нужна была штука, в которой заранее лежат заготовленные куски текста, и по клику любой из них оказывается в буфере.

И без долбаных шрифтов и фона.

Всё. Никакого ИИ. Никакой магии. Текст, который я написал сам, ровно такой, каким я его написал.

⚡ Вундервафля, которая выдала пять кадров в секунду

Я React-разработчик. И я подумал: а почему бы не взять Electron и не собрать из React настоящее приложение для macOS?

Планировать я не стал почти совсем — я не знал, что именно хочу получить. Нужно было нащупать, а не спроектировать. POC, на котором станет понятно, чем я вообще буду пользоваться.

Так появился SlotPaste. Очень простое приложение с очень слабым неймингом 🙂

Доска. На ней блоки. В каждом блоке кусок текста. Клик — и он в буфере. Вкладки под разные контексты. Прототип собрался примерно за неделю.

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

Но главное фиаско было не в этом.

В дев-режиме, в браузере, всё летало.

А собранное приложение выдавало пять кадров в секунду и весило больше двухсот мегабайт.

Пять.

🔌 Engineer honesty moment

Тут была развилка, и соблазн был очевидный: закопаться в оптимизацию и доказать, что я могу.

Я напомнил себе три вещи.

Во-первых, это проект ради опыта.
Во-вторых, его пора начинать не только писать, но и использовать.
В-третьих, в браузере всё уже работает.

И я отцепил Electron. Совсем.

То, что осталось, — PWA. Просто обёртка, чтобы с этим было удобно работать в отдельном окне.

Всё примитивно.

И оно, чёрт возьми, работает.

SlotPaste, апрель 2026. На доске — мой отклик, разобранный на поля.
SlotPaste, апрель 2026. На доске — мой отклик, разобранный на поля.

🎯 Прошло время

Дальше забавное.

Одна из первых форм, которые я заполнил уже с живым прототипом, привела меня к работе. Первый месяц позади.

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

Я пользуюсь им каждый день.

Что-то на работе я уже автоматизировал нормально — проект запускается одним кликом. А что-то так и живёт в блоках: консольные команды, которые я набираю по десять раз на дню, и всякие рабочие мелочи вроде промпта «освежи правила работы в .idea/CLAUDE.md».

SlotPaste, сентябрь 2026. То же приложение, другие задачи.
SlotPaste, сентябрь 2026. То же приложение, другие задачи.

Это и есть единственный тест, который что-то значит для пет-проекта.

Не звёзды.
Не лайки.
Просто: ты сам-то им пользуешься, когда никто не смотрит?

🆕 А пару дней назад

Я ждал сына с тренировки и от нечего делать пошёл щупать домены.

И нашёл свободный. Шесть букв. .com.

jpaste — потому что он про то, чтобы просто вставить.

Забавно, как сложился рынок: в 2026-м шестибуквенный .com можно просто взять. Не выкупить с рук, не переплатить — он был свободен.

Теперь он мой.

И у меня есть интерес пройти этот путь не в одиночку: от имени, идеи и кривоватого прототипа — до продукта, которым пользуюсь я и будет пользоваться кто-то ещё.

Идея в первый день стоит недорого.

Настоящим её делает то, что ты всё ещё открываешь её на шестидесятый.

💬 Вопрос

Какой кусок текста вы набирали руками чаще, чем готовы признать?

Мой — caffeinate -di -t 28800.

(А git commit -m " я до сих пор набираю сам, на автомате. Есть текст, который хранишь. А есть текст, который пальцы печатают без тебя — с этим приложение уже не поможет.)

Пишите 👇

В следующей части: почему я начал с имени и лендинга, а не с кода 😉