Давайте без интриги.
Эта история начинается не с идеи.
Она начинается со звонка, после которого три с лишним года закончились одним днём.
Никаких выводов о том, как надо.
Никакой методички «как пережить сокращение».
Просто как это было.
🧊 Февраль
Февраль 2026-го. Реорганизация. Несколько месяцев до этого я просидел на бенче — и вот финал.
Три года в одной системе — это не только зарплата.
Это привычка.
Ты знаешь, где что лежит.
Ты знаешь, кого спросить.
Ты знаешь, как здесь принято делать хорошо.
А потом этого нет, и выясняется, что часть твоей уверенности была не твоей, а системной.
(И ещё одна деталь, которую я тогда недооценил: эти три года я работал почти без ИИ. Просто руками. В 2026-м это внезапно оказалось важным обстоятельством.)
🎤 Собеседование — это отдельная дисциплина
С 2022 года я не сидел на этой стороне стола.
Я сидел на другой. Сам проводил собеседования — немного, но проводил. А мои собственные были внутренними: переход с проекта на проект.
Выяснилось, что это не помогает совсем.
Уметь оценивать и уметь быть оценённым — разные умения. Я прекрасно знал, как выглядит хороший ответ.
И совершенно разучился его давать.
Три года — ровно тот срок, за который рынок успевает стать другим, работа успевает стать другой, а собеседования остаются тем же, чем были всегда: отдельной дисциплиной, к которой готовятся отдельно.
Я не готовился.
Дальше был месяц хаоса.
Я пытался понять не «что делать вообще», а что делать прямо сейчас. Выторговывал себе запас времени, чтобы искать работу, а не хвататься за первую попавшуюся. В свободные часы таксовал в Uber — в этой борьбе за живучесть это и давало те самые лишние недели.
Я не буду делать вид, что провёл этот месяц продуктивно.
А потом дошло простое.
Мне нечего показывать.
Не потому что я ничего не делал.
Не потому что делал плохо.
Просто всё, что я делал три года, закрыто NDA — и на собеседовании об этом можно говорить ровно теми словами, которыми ничего не говорят.
Значит, нужно что-то, что можно открыть и показать.
🧪 Значит, надо что-то показывать
Начался занимательный период поиска того, что стоило бы сделать или починить.
(Чинить я в тот период был готов всякое. Однажды в том же духе я чуть не превратил свою PS5 в кирпич — но это отдельная история, и урок оттуда выучен.)
Первым был config-driven-testimonials. Максимально нескромный проект: конфигурируемый шаблон для отзывов бывших коллег, наполненный настоящими отзывами за последние лет семь. Полигон, на котором я разобрался, как выкатить свой пакет в NPM и как всё это автоматизировать.
Одна зависимость. У неё своя одна — zod. Там нечему протухнуть и нечего выдернуть из-под ног. Спустя пять месяцев это то, чем я тихо горжусь до сих пор.
Какое-то время им даже кто-то пользовался.
И там же я понял первую вещь, которая потом пригодилась дважды.
В пет-проектах важно не только доделать. Важно вовремя бросить.
Я довёл его до разумной кондиции и переключился.
Вторым был PlayShelf. Он начинался как тестовое задание, а потом перерос сам себя.
ТЗ было сухое. Название, стиль и логотип придумались по ходу — так обычно и бывает: хорошие идеи приходят, пока работаешь, а не пока сидишь и ищешь идеальную. Лучше поставить заглушку и идти дальше. А цветовую гамму я подобрал так, чтобы свести им олдскулы.
Но фасад был там не самым интересным.
Внутри лежало задание со звёздочкой: заставить соседние вкладки разговаривать друг с другом. Без бэкенда. Вообще.
Процентов тридцать времени я провёл не в коде, а в проектировании: в паре с Клодом раскладывал, как оно должно работать и как сделать по кайфу.
Я вложил в него заметно больше, чем от меня просили, и ни разу не пошёл на компромисс с собой.
Тестовое задание не обязано быть красивым.
Это — было.
До работы не дошло: через полторы недели компания остановила найм.
Так я применил то же правило второй раз и вернулся в загадочный мир рассылки резюме.
🐭 И снова формы
Если вы откликались в 2026-м, вы знаете.
Компания.
Город.
Даты.
Стек.
Абзац про то, чем вы там занимались.
Потом следующая форма спрашивает то же самое. В другом порядке. В другом поле. С другим лимитом символов.
Ты как слепая мышь в лабиринте: бьёшься об одни и те же углы, только они каждый раз чуть по-другому расставлены.
Логичный ход — автоматизировать.
Я не стал.
У меня уже был опыт, когда в тексте про меня появлялись галлюцинации. Не ошибки — именно уверенно написанная неправда. Проверять за автоматикой каждую букву в своём же резюме оказалось дольше, чем заполнить руками.
Так что я решил не автоматизировать, а ускорить.
Мне нужна была штука, в которой заранее лежат заготовленные куски текста, и по клику любой из них оказывается в буфере.
И без долбаных шрифтов и фона.
Всё. Никакого ИИ. Никакой магии. Текст, который я написал сам, ровно такой, каким я его написал.
⚡ Вундервафля, которая выдала пять кадров в секунду
Я React-разработчик. И я подумал: а почему бы не взять Electron и не собрать из React настоящее приложение для macOS?
Планировать я не стал почти совсем — я не знал, что именно хочу получить. Нужно было нащупать, а не спроектировать. POC, на котором станет понятно, чем я вообще буду пользоваться.
Так появился SlotPaste. Очень простое приложение с очень слабым неймингом 🙂
Доска. На ней блоки. В каждом блоке кусок текста. Клик — и он в буфере. Вкладки под разные контексты. Прототип собрался примерно за неделю.
Не всё из этой недели было потрачено с умом. Я, например, всерьёз пробовал лютейшие алгоритмы против схлопывания текстовых блоков, подсмотренные в геймдеве. Они так толком и не заработали.
Но главное фиаско было не в этом.
В дев-режиме, в браузере, всё летало.
А собранное приложение выдавало пять кадров в секунду и весило больше двухсот мегабайт.
Пять.
🔌 Engineer honesty moment
Тут была развилка, и соблазн был очевидный: закопаться в оптимизацию и доказать, что я могу.
Я напомнил себе три вещи.
Во-первых, это проект ради опыта.
Во-вторых, его пора начинать не только писать, но и использовать.
В-третьих, в браузере всё уже работает.
И я отцепил Electron. Совсем.
То, что осталось, — PWA. Просто обёртка, чтобы с этим было удобно работать в отдельном окне.
Всё примитивно.
И оно, чёрт возьми, работает.
🎯 Прошло время
Дальше забавное.
Одна из первых форм, которые я заполнил уже с живым прототипом, привела меня к работе. Первый месяц позади.
Казалось бы, инструмент сделал своё дело и может идти отдыхать — причина, по которой он появился, исчезла.
Я пользуюсь им каждый день.
Что-то на работе я уже автоматизировал нормально — проект запускается одним кликом. А что-то так и живёт в блоках: консольные команды, которые я набираю по десять раз на дню, и всякие рабочие мелочи вроде промпта «освежи правила работы в .idea/CLAUDE.md».
Это и есть единственный тест, который что-то значит для пет-проекта.
Не звёзды.
Не лайки.
Просто: ты сам-то им пользуешься, когда никто не смотрит?
🆕 А пару дней назад
Я ждал сына с тренировки и от нечего делать пошёл щупать домены.
И нашёл свободный. Шесть букв. .com.
jpaste — потому что он про то, чтобы просто вставить.
Забавно, как сложился рынок: в 2026-м шестибуквенный .com можно просто взять. Не выкупить с рук, не переплатить — он был свободен.
Теперь он мой.
И у меня есть интерес пройти этот путь не в одиночку: от имени, идеи и кривоватого прототипа — до продукта, которым пользуюсь я и будет пользоваться кто-то ещё.
Идея в первый день стоит недорого.
Настоящим её делает то, что ты всё ещё открываешь её на шестидесятый.
💬 Вопрос
Какой кусок текста вы набирали руками чаще, чем готовы признать?
Мой — caffeinate -di -t 28800.
(А git commit -m " я до сих пор набираю сам, на автомате. Есть текст, который хранишь. А есть текст, который пальцы печатают без тебя — с этим приложение уже не поможет.)
Пишите 👇
В следующей части: почему я начал с имени и лендинга, а не с кода 😉