Расскажите о себе: где вы учились и чем занимаетесь?
Елена Селиванова: Я получила степени бакалавра и магистра в Университете ИТМО, здесь же защитила кандидатскую. Я обучалась на кафедре технологий приборостроения, сейчас работаю в компании «Аркадия» full-stack разработчиком. В настоящее время мы делаем приложение для образовательной платформы Itslearning, она в чём-то похожа на российский «Дневник.ру», но применяется от детских садов до университетов, а не только в школе. До этого я работала над созданием систем видеонаблюдения для казино.
Григорий Французов: Я учился на год раньше Лены в Университете ИТМО на кафедре нанотехнологий и материаловедения, на направлении «Приборостроение». После университета работал на производстве с ЧПУ-станками, позже ушел в программирование, стал изучать другие инженерные вопросы. Долгое время я был соучредителем фирмы, которая занималась системой фотовидеофиксации происшествий на дорогах, выписывала штрафы. Три года назад я ушел оттуда и сейчас работаю фрилансером на разных проектах.
Алексей Марголин: В свое время я тоже учился в Университете ИТМО, однако этот вуз не окончил: в 2014 году перевелся в СПБГУТД. Почти все время после университета я работал фрилансером, однако на постоянной основе также преподаю в школе и на курсах CISCO (CCNA).
Денис Пешехонов: Я учился в Политехе на электромеханическом факультете. Сначала я хотел стать электриком, но на четвертом курсе понял, что мне ближе программирование. Когда я учился, стал заниматься разными проектами, подрабатывал, а после начал делать свои проекты. Пара из них начали приносить деньги, это были онлайн-игры для социальных сетей. К моменту, как я окончил университет, я получал постоянный доход и ушел полностью в программирование. Теперь я тоже фрилансер.
Как вы приняли решение участвовать в хакатоне? Кто-то из вас уже имел такой опыт прежде?
Григорий Французов: Инициатором участия стал я – мне очень хотелось поучаствовать в хакатоне ВКонтакте. Это для меня второй хакатон, до этого я участвовал в хакатоне от Intel. Он был посвящен встраиваемым решениям от Intel на платформе Edison. Тогда компания активно продвигала эту платформу в России. Мне было интересно, было немного желающих, поэтому классическое ограничение на объем команды организаторы убрали, и победила команда из девяти человек. Мне понравилась атмосфера хакатона, и я захотел поучаствовать в чем-то подобном. Из постов в Вконтакте я узнал про хакатон. Я решил собрать друзей, которые хотели бы программировать в тех особенных условиях творчества, которые ставят организаторы. Денис загорелся идеей и сразу же отозвался, он лучше представлял, как все проходит, и посоветовал собрать команду из двух frontend-разработчиков и двух backend-разработчиков. Я написал Лене, мы вместе пишем на C Sharp, это достаточно удобно, а Алексея в качестве frontend-разработчика позвал Денис. В итоге мы с Леной отвечали за backend, а Денис и Алексей за frontend.
Почему вы выбрали направление «Благотворительность»?
Денис Пешехонов: Мы воспользовались точным расчетом и к выбору трека подошли алгоритмически. По всем направлениям мы выделили несколько списков, и каждое направление оценили по трем критериям – его интерес для нас, техническая реализуемость и потенциальный уровень конкуренции. С помощью ранжированных пар мы отсортировали и вывели общий список. У нас было представление, что мы хотим, и список позволил убедиться в этом. Мы решили, что благотворительность – интересное направление, там сложно с чем-то повториться, мало технических решений в этой области в России, мы понимали, что можем реализовать идею. К тому же, у Лены и Гриши есть опыт в качестве доноров и некоторые контакты в этой области, которые могли нам помочь.
Елена Селиванова: Ребята руководствовались более техническим подходом к выбору трека, но мне сразу понравился кейс от DonorSearch. Я сама донор и понимаю, какие проблемы есть в этой сфере. Также я понимала, что приложение сможет помочь людям, меня очень привлекал этот социальный аспект работы.
Григорий Французов: Когда я учился в Университете ИТМО, я был в студенческом совете, и когда в вузе впервые проводили День донора, мы его организовывали. Тогда я познакомился с ребятами из Красного креста, которые занимались пропагандой донорства среди студентов. В течение семи лет я был волонтером в Красном кресте, у меня осталось много контактов ребят, которые имеют отношение и к волонтерству, и к донорству крови, и они понимают принципы организации процесса вовлечения новых доноров. Поэтому уточняющие вопросы, которые помогли понять, как процесс организован сейчас, было кому задать. Банальная вещь – список противопоказаний для сдачи крови отличается на сайтах разных станций переливания.
В треке «Благотворительность» вам нужно было выбрать один из двух кейсов. Что вы знали про DonorSearch?
Григорий Французов: В треке «Благотворительность» были две партнерские организации, которые давали кейсы: DonorSearch (донорство крови) и РЭЙ (Фонд помощи бездомным животным). DonorSearch – это сайт, который позиционирует себя как социальная сеть для доноров, однако ее цель глобальнее – обеспечить оптимальную связь между станциями переливания и донорами. Сейчас этот процесс выстроен недостаточно хорошо. Количество команд разделилось между двумя организациями почти поровну, однако большинство предпочли кейс от РЭЙ.
Алексей Марголин: Изначально мы были в листе ожидания, потому что была большая конкуренция на этот трек. Организаторы внимательно смотрели на заявку команды и мотивацию участвовать в конкретном треке. Так как мы регулярно задавали вопросы и организаторам хакатона, и представителям DonorSearch, нас достаточно быстро переместили из листа ожидания в основной список. Однако на самом хакатоне оказалось, что большинство выбирали категорию «Технологии».
Какую проблему нужно было решить для DonorSearch?
Елена Селиванова: Цель сайта – мотивировать пользователя, привлечь новых доноров, а также удерживать кадровых доноров, которые сдают кровь раз в два-три месяца регулярно. У DonorSearch есть сайт и мобильное приложение под Android и iOS. Это приложение работает как интерфейс к сайту, но никакого дополнительного функционала не имеет.
Григорий Французов: В DonorSearch собраны данные по расписанию работы станций переливания, их месту расположения и потребности станций в конкретных группах крови. Например, у одной станции может быть избыток второй группы крови, а на других станциях она срочно нужна. В некотором виде станции переливания отражают эту информацию на своих сайтах, однако это могут себе позволить в основном станции, располагающиеся в больших городах. Остальные размещают эту информацию в группах Вконтакте или рассылают. Силами волонтеров DonorSearch обрабатывают эту информацию и заносят в свою базу. На хакатоне представители сайта сделали демонстрационную копию своей базы и предоставили к ней технический интерфейс – отдельный портал для разработчиков, где с помощью определенных запросов можно было получить нужные данные.
Наша задача была – интегрироваться с социальной сетью Вконтакте (поскольку социальными сетями пользуются очень многие) с условием, что приложение будет доступным для пользователей сети в наиболее удобном виде. К тому же, сайт DonorSearch сам вырос из группы в Вконтакте.
Какое решение вы предложили?
Денис Пешехонов: Приложение открывается в списке сервисов прямо внутри клиента ВКонтакте. Человеку не нужно ничего скачивать и регистрироваться, данные пользователя подтягиваются из его аккаунта. При входе в приложение пользователь видит три основные вкладки. На первой можно указать свою группу крови и резус-фактор, увидеть, что можно сдавать в соответствии с номером конкретной группы крови – цельную кровь, плазму, эритроциты, лейкоциты, тромбоциты или гранулоциты. До работы над проектом я даже не знал, что можно сдавать что-то кроме цельной крови. Также в этой вкладке можно корректно указать город – иногда в социальных сетях у людей указан город, где они родились, но проживают они в другом месте.
Григорий Французов: Вторая вкладка – карта. Здесь показаны все станции переливания в том месте, где находится пользователь. Приложение использует геолокацию человека и отображает станции, которые есть в базе DonorSearch для найденного приложением или указанного вручную города. Важно, что на карте пользователь видит отфильтрованные станции – только те, в которых принимают его группу крови и резус-фактор и где от нее не откажутся (бывает, у станции избыток крови). Также важно, что не на всех станциях принимают доноров-новичков и тех, у кого нет прописки в городе, это тоже учитывается системой. На карте некоторые станции подсвечиваются, это значит, что там дефицит крови вашей группы и резуса – на эти места нужно обращать внимание в первую очередь.
Денис Пешехонов: Третья вкладка представляет собой таймлайн, помогающий организовывать процесс сдачи крови во времени. Таймлайн состоит из карточек, у каждой карточки есть смысл. Например, вы можете записаться на прием, и у вас появится карточка. В ней вы узнаете противопоказания: каким критериям вы должны соответствовать, чтобы сдать кровь. При записи на прием вы выбираете дату, станцию переливания и получаете памятку. В ней написано, что человек должен заранее сделать, чтобы сдать кровь. Периодически пользователю будут приходить уведомления с указаниями к действиям. Также у пользователя есть возможность загрузить в систему DonorSearch справку, которую выдают в качестве подтверждения сдачи крови. Эта справка проверяется экспертами, и затем человек может записаться на повторный прием – через три-шесть месяцев после первой сдачи крови необходимо подтвердить отсутствие болезней, которые не выявляются длительное время. В этой же вкладке можно отменить посещение.
Елена Селиванова: В приложении есть мотивирующая фишка. В среднем считается, что одна донация спасает три жизни, поэтому DonorSearch ведет подсчет для пользователей – сколько донаций они сделали. Мы же решили сделать подсчет более образным, и на первой вкладке у пользователя отражается количество жизней, которые он спас своими донациями. У нас в планах добавить больше геймификации, чтобы можно было вовлекать в процесс своих друзей, объединять в команды, вести список достижений.
Есть ли технические нюансы, с которыми вам пришлось столкнуться в процессе разработки приложения?
Григорий Французов: Приложение делится на две части – backend часть предоставляет интерфейс к данным, которые предоставляет DonorSearch. В связи с особенностью данных, которые предоставляет сайт, нам было запрещено записывать данные пользователей в общую базу, так как это противоречит политике персональных данных, однако, чтобы продемонстрировать прототип, мы могли использовать свою базу на время.
Алексей Марголин: Приложение работает на Android, iOS и на других платформах, где стоит приложение ВКонтакте. Мы использовали специальную платформу VK Apps, которая дает приложению доступ к данным пользователей ВКонтакте.
Каковы ваши дальнейшие действия? С кем вы сейчас взаимодействуете?
Алексей Марголин: Помимо нашего желания, есть большой интерес со стороны DonorSearch довести разработку до рабочего продукта. Некоторые вещи в приложении мы перепишем с нуля, теперь у нас есть больше времени подумать и изучить пользовательский сценарий. Также есть интерес со стороны ВКонтакте в контексте развития их каталога сервисов с помощью размещения нашего приложения в нем. Однако сейчас главная цель – доработать приложение до пользовательского состояния и запустить его. Сейчас оно доступно в демонстрационной версии – пользователь не сможет записаться на прием, но сможет узнать адреса и расписание станций переливания. Для того, чтобы завершить работу, нам нужно только время. Не все изначальные идеи мы смогли реализовать во время хакатона, мы сделали только базовый функционал.
На ваш взгляд, что помогло вам победить?
Григорий Французов: Наш продукт был законченным решением, полностью соответствовал задаче и выдержал демонстрацию. Мы переживали, что наша презентация слишком простая, но в итоге это тоже в какой-то степени определило успех.
Чем вам запомнился хакатон?
Григорий Французов: Хакатон впервые проходил в Главном штабе Эрмитажа, который стал заказчиком одного из кейсов. Это было довольно необычное ощущение, когда ты можешь провести в Главном штабе 24 часа, выходя ночью подышать воздухом к Александрийскому столпу.
Алексей Марголин: Я заходил на первый VK Hackathon четыре года назад – тогда он проходил в Университете ИТМО в корпусе на улице Ломоносова и совсем не был масштабным. В этом году организаторы получили порядка 400 заявок, а на площадке по официальным данным состязались более 400 разработчиков. За четыре года VK Hackathon вырос в несколько раз — с 34 команд до 120. К тому же призовой фонд увеличился с 300 тысяч рублей до полутора миллионов. Сегодня VK Hackathon называют одним из наиболее масштабных хакатонов в России.
Планируете ли вы в дальнейшем принимать участие в подобных мероприятиях, кодить на соревновательных началах?
Григорий Французов: Мы немного отойдем от прошедшего хакатона и будем думать. В целом нам очень интересно, однако слишком часто участвовать в подобных мероприятиях тяжело, так как это сильно сбивает рабочий режим. Обсуждая этот вопрос с командой, мы пришли к выводу, что комфортный для нас режим — от двух до четырех подобных соревнований в год.