Разработчик расписания транспорта для 12 городов о том, как пет-проект с «инвестициями» $500 в год помогает на собеседованиях

7 комментариев
Разработчик расписания транспорта для 12 городов о том, как пет-проект с «инвестициями» $500 в год помогает на собеседованиях
Вадим Николаев

Вадим Николаев

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 года назад риторика была совсем другой: «А кто вы такие? А почему мы вам что-то должны давать?» — и бросали трубку.

— К сожалению, мы не застрахованы и от того, что завтра придёт новый человек и скажет: «Моя хата с краю. А раз вы такие умные (это я практически дословно цитирую) — так закроем вам все доступы, и свернётся ваш проект».

Работа в ИТ в Беларуси​.​​​​​​​​​​​​​​​​​​

1. Заполните анонимную форму — 5 минут.
2. Укажите зарплатные (и другие) ожидания.
3. Выберите желаемую индустрию или область деятельности.
4. Получайте релевантные предложения​​.​​​​​​

Хотите сообщить важную новость?

Пишите в наш Телеграм

Читайте также

В Минске задержали 25+ студентов БГУИР. Один — в больнице со сломанной лодыжкой
В Минске задержали 25+ студентов БГУИР. Один — в больнице со сломанной лодыжкой
В Минске задержали 25+ студентов БГУИР. Один — в больнице со сломанной лодыжкой
1 комментарий
Чемоданова: работник госпредприятия «сливал» данные силовиков за крипту
Чемоданова: работник госпредприятия «сливал» данные силовиков за крипту
Чемоданова: работник госпредприятия «сливал» данные силовиков за крипту
4 комментария
«Внешняя DDoS-атака». Набцанк объяснил, почему не работал сайт
«Внешняя DDoS-атака». Набцанк объяснил, почему не работал сайт
«Внешняя DDoS-атака». Набцанк объяснил, почему не работал сайт
1 комментарий
World of Tanks — в топ-10 самых доходных в мире игр для ПК
World of Tanks — в топ-10 самых доходных в мире игр для ПК
World of Tanks — в топ-10 самых доходных в мире игр для ПК

Обсуждение

koba
koba Java Developer в 2017-10-01
4

Пользовался, но что-то не впечатлило
1) реклама, нельзя убрать, даже покупкой
2) Карта, хотелось, чтоб все было в одном Yandex map + ZippyBus -видеть движение транспорта в реальном времени
3) настроек нет совсем
4) С остановками, что-то было в куче одной все.

Еще, что-то по мелочи, может уже поправили

Вадим Николаев
Вадим Николаев iOS developer в EPAM
4

1) Мы постарались сделать ее ненавязчивой (сравнивали с другими сервисами), в будущем постараемся реализовать встроенные покупки, но тут есть вопросы юридические вопросы (ИП и тд).
2) Сейчас карта реализована в iOS для нескольких городов, где есть геолокации остановок. Для Android в процессе реализации. Используем Mapbox. Движение в реальном времени предполагает плотную работу с автоматизированными системами автопарков. Это вопрос времени и интереса от самих автопарков.
3) Да, такая проблема есть - эта задача в высоком приоритете
4) Разделение по направлениям сделано для нескольких городов. Опять же, мы пользуемся официальными данными автопарков, ну а разделение делают не везде. Мы пытались реализовать это самостоятельно (на нашей стороне), но тут сразу же возникают проблемы с обновлением данных. Автопарк обновляет данные по одной остановке (которая является физически двумя разными) и вся автоматизированная система парсинга и обновления ломается.

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

j-l
j-l Ruby/Rails senior developer в Full Spectrum Systems
1

ZippyBus, добра было б беларускую мову на сайт дадаць.

Вадим Николаев
Вадим Николаев iOS developer в EPAM
1

Беларускую лакалізацыю дадавалі толькі для мабільных дадаткаў (android/ios). Дзякуй за напамін - для сайта трэба гэта зрабiць.

2

«А кто вы такие? А почему мы вам что-то должны давать?»
«Моя хата с краю. А раз вы такие умные (это я практически дословно цитирую) — так закроем вам все доступы, и свернётся ваш проект».

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

andrei-shostik
andrei-shostik Software Engineer в SmartexLab
0

Вадим, а вы не думали сотрудничать с https://kogda.by? может, если объединить усилия, как говорится, то может получится лучше? у вашего и этого сервиса даже чем-то дизайн похож. или вы уже пробовали? очень интересно узнать историю, если таковая есть :)

мгновение офтопа: хотел оставить комментарий, так прошёл адище какое-то по привязке и восстановлению пароля, такое говнище сотворить это ппц. сори за офтоп, припекло дичайще.

Вадим Николаев
Вадим Николаев iOS developer в EPAM
0

Андрей, пока не думали - сейчас есть вектор развития сервиса и стараемся его придерживаться, но как идея - да, возможно, в будущем подумаем над тем, что мы можем предложить kogda.by.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже