iOS-разработчик из Гродно Вадим Николаев говорит, что вырос как программист, тестировщик, product owner и devOps с помощью хобби-проекта. ZippyBus помогает всей команде прокачивать скилы и проходить собеседования. Им пользуется 12 городов, 60 тысяч человек в сутки.
ZippyBus появился почти 4 года назад: разработчики Вадим Николаев и Денис Холевинский тогда работали сисадминами на заводе. Хотели подтянуть скилл: Денис написал приложение с расписанием транспорта в Лиде под Android, Вадим — под iOS. В то же время к проекту подключился бэкенд-разработчик Дмитрий Прокорым, основатель ZippyBus и руководитель команды. Он порекомендовал включить и другие города.
— Стек технологий ZippyBus — Swift 5.1 для iOS (начинали писать ещё на версии 1.2), Java для Android. Были мысли мигрировать на Kotlin, но пока они остаются только мыслями, потому что наш Android-разработчик очень загружен на основной работе, — рассказывает Вадим. — Бэкенд и фронтенд Дмитрий пишет на .NET Core.
Постепенно ZippyBus вырос в сервис на 12 населённых пунктов. Проект развивается с учётом фидбэка от юзеров — 60 тысяч в сутки. Последние дебаты велись вокруг Dark Mode: для Android пока отложили, для iOS сделали. В планах — Telegram-бот для 12 городов.
Два года назад ZippyBus внесли в топ-150 белорусских стартапов, рейтинг возглавил MSQRD. Однако Вадим настаивает: ZippyBus — не стартап, это хобби.
Зачем нужен пет-проект
Пет-проект — это полигон, на котором можно попробовать себя в любой из позиций и ролей, говорят разработчики. Ещё плюс: на собеседованиях рассказ про свой проект вызывает более живой интерес, чем про коммерческие: «ведь ты его делал с нуля». «Слушают с большим интересом, заходят в App Store, скачивают».
И ещё плюс:
— Когда видишь, что продуктом пользуются не 2 человека, а несколько тысяч — это ласкает твоё эго. Реальный пример: я стою на остановке, и тут вижу — бабулька достаёт из сумочки свой старенький Android и открывает ZippyBus.
Сколько стоит пет-проект
Вадим подсчитывает: команда вкладывает в проект минимум по 400-500 долларов в год. Оплата серверов и доменов, ежегодный взнос в App Store в размере 99 долларов. В прошлом году ребята выиграли грант от Amazon на 1 тысячу долларов.
Каждый разработчик тратит 8-10 часов в неделю. «Большой плюс: Дима живёт в Чикаго, из-за разности часовых поясов получается поддержка 24 часа», — добавляет Вадим.
Некоторые потенциальные киллер-фичи упираются именно в цену вопроса. Так, разработчики хотят сделать оффлайн-прокладку маршрутов с учётом общественного транспорта, но на это нужно порядка 10 тысяч долларов, которые вряд ли получится отбить. Такая же история со «слабым дизайном» приложения: дизайнеры не хотят работать «за портфолио».
— Мы думали о привлечении инвестиций, ангельских денег. Но Дмитрий тут же задаёт вопрос: а за сколько ты бы согласился расстаться со своим проектом. И я начинаю размышлять: вот, допустим, предложат нам 50 тысяч долларов, для одного — немало, можно квартиру купить. Но у нас команда. Свои 15+ тысяч проешь быстро, а проекта уже не будет.
Плюс мы чувствуем ответственность перед пользователями: а вдруг новые «хозяева» сделают всё по-другому. Конечно, мы можем остаться в штате разработчиками проекта, но это будет уже не хобби, а основная работа.
Предложения о продаже проекта поступали от москвичей во Vkontakte. Но «покупатели» тут же пропадали.
Как собирают данные в разных городах (квест)
Команда ZippyBus называет свой подход к разработке сервиса «американским» — это влияние Дмитрия, который живёт в США.
— Пример: то, как мы получаем данные — те же расписания движения транспорта. У нас нет Гомеля, потому что неоткуда взять официальные данные. Но мы знаем, что есть человек, который собирает их самостоятельно и делает свой сайт с расписанием движения гомельских троллейбусов и автобусов. Самое простое — взять и скопировать расписание. Молча. Но подход Дмитрия заключается в том, что «надо договариваться». Я говорю: «Ребята, у наших конкурентов есть Гомель — я знаю, что они забирают эти данные без разрешения». «Нет, — говорит он. — Мы напишем письмо, уточним». Гомельчанин в итоге отказал нам.
Сбор данных — особая тема.
— К сожалению, в Беларуси, в отличие от Германии или США нет единой системы управления транспортом, — отмечает Вадим. Из-за этого сведения, которые разработчики «добывают» на сайтах автопарков, представляют собой «кашу» — кто-то публикует расписание PDF, кто-то — в Excel или в Word. Не у каждого автопарка есть сайт. У ребят есть идея сделать отдельный сервис для автопарков, чтобы они могли оперативно делиться данными с разработчиками.
Пинск, Иваново, Лунинец, Молодечно
Ребята заходили к транспортным компаниям: так у них появились волонтёры в Пинске, Иваново, Лунинце и Молодечно. Это сотрудники автопарков и обычные горожане.
Волковыск
До появления сервиса городские энтузиасты фотографировали расписание на остановках общественного транспорта и размещали в интернете. А затем местная районная газета обратилась к ZippyBus с предложением о сотрудничестве, сейчас её сотрудники предоставляют актуальное расписание.
Гомель
— В Гомеле один из наших волонтёров сходил в транспортную компанию, и ему сказали прямо: «Хотите получать данные — оплачивайте работу человека, который будет их собирать». Но мы пока не можем позволить себе содержать «на балансе» человека, который раз в месяц будет выслать нам данные.
Можно было бы предложить волонтёрам обойти остановки и сфотографировать таблички с расписаниями, но это не лучший подход: мы ведь делаем акцент на том, что постоянно отслеживаем изменения. У нас регулярно запускается парсер, который обновляет расписания незаметно для пользователей.
Лида
— Увы, в автопарках нередко нам говорят: «Не учите нас жить! Как делаем — так делаем». Плюс управляющие структуры периодически меняются. В Лиде не так давно сменился оператор пассажирских перевозок, мы пытались свести знакомство с новым — списывались, созванивались, но ничего не вышло. Как помогал нам в Лиде волонтёр из «старых», так и продолжает это делать.
«Один из городов»
Вадим вспоминает, что в одном из городов руководство автопарка само пришло к ребятам: к этому его подтолкнули недовольные пользователи: «Нас достали жалобами граждане! Давайте мы будем делиться с вами данными». Хотя ещё 2 года назад риторика была совсем другой: «А кто вы такие? А почему мы вам что-то должны давать?» — и бросали трубку.
— К сожалению, мы не застрахованы и от того, что завтра придёт новый человек и скажет: «Моя хата с краю. А раз вы такие умные (это я практически дословно цитирую) — так закроем вам все доступы, и свернётся ваш проект».
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.