Как пет-проект помогает программисту развиваться и отдыхать от рутины

Пообщались с Егором Шепелевым, мобильным разработчиком Яндекс Драйва, который в свободное время разрабатывает своё приложение для управления умным домом «Капитолий». Егор рассказал, когда возникла идея проекта, как к этому относятся в компании и с чего начинается хороший пет-проект. Спойлер: с личной боли

Расскажи, как появилась идея твоего пет-проекта

Я заинтересовался умным домом ещё до прихода в Яндекс. Мне нравилась идея Google Nest Hub — планшета, который управляет домом. Кроме управления устройствами он может контролировать сон, проигрывать аудио- и видеоконтент. Мне всегда хотелось чего-то подобного, но Google Nest Hub не адаптирован под российских пользователей: часть функций не работает, русского языка нет.

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

Твой проект связан с умным домом Яндекса или это отдельная разработка?

Это отдельная разработка, но мой проект не автономен, завязан на сервисах Яндекса. Если грубо, это надстройка над системой, ещё одна «поверхность», с которой можно управлять умным домом Яндекса. Я пользуюсь реверс-инжинирингом: потихоньку разбираю приложение «Дом с Алисой», смотрю, что и как устроено.

У системы умного дома есть огромное комьюнити и много открытых разработок, на которых строится моё приложение. Например, есть проект Home Assistant — большая платформа для умного дома. У них есть несколько интеграций с Яндексом, оттуда я многое беру себе. Все эти проекты — Open Source, можно пользоваться ими как источником вдохновения или подсматривать реализацию интересных фишек.

А как в компании относятся к тому, что ты работаешь над своим проектом?

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

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

Uehalo

Что уже получилось реализовать в приложении и какие планы?

Сейчас в приложении поддерживается управление всеми устройствами, кроме камер: лампочки включаются, кондиционеры дуют, датчики передают показания. Пока главная боль — камера. Сложно найти хорошую, которая бы без проблем пробрасывалась в экосистему Яндекса. Также из «Капитолия» можно управлять Яндекс Станцией и слушать музыку. Но хочу встроить Яндекс Музыку в само приложение.

В планах — настроить локальное управление умным домом. На это есть большой запрос от пользователей. Как сейчас работает умный дом? Мы говорим колонке с Алисой: «Включи свет на кухне». Она распознаёт текст и отправляет команду на сервер Яндекса. Тот распознаёт производителя устройства и отправляет ему запрос. Производитель отправляет команду лампочке включиться. Это долго и нестабильно.

Функция локального управления — когда устройства находятся в одной сети Wi-Fi и общаются напрямую между собой. К этому я и стремлюсь. Ещё занимаюсь редизайном: хочется, чтобы визуально тоже было красиво. Например, недавно добавил цветовое оформление — когда всё приложение окрашивается в цвет обоев. Пользователи оценили.

Когда ты находишь время на всё это?

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

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

У твоего приложения уже есть пользователи?

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

Что порекомендуешь тем, кто тоже хочет сделать пет-проект, ищет идеи и думает, с чего начать?

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

Главное — не нужно выдавливать из себя желание и мотивацию. Иначе такой проект быстро надоест. В первую очередь это творчество и закрытие реальной собственной боли. У каждого есть проблемы, которые можно автоматизировать. Посмотрите вокруг себя: что хотелось бы сделать качественнее и приятнее?

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

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

Краткий пересказ от Yandex GPT