Главная Записи → Выступили на хакатоне HackUniversity
Март 2020

Выступили на хакатоне HackUniversity

Первый опыт участия в онлайн хакатоне и первое первое место

1 Всего было 154 команды. До финальных презентаций дошли 93. На нашем треке было 9 команд.

Мы зарегистрировались на HackUniversity почти случайно. Как и во всех других случаях, этот, изначально очный, хакатон был перенесён в онлайн из-за вируса. Организаторы даже пообещали перечислить 4 000₽ каждой команде, которая доберётся до финальных защит1.

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

Online hack meme

2 Hам повезло не купить билеты и не забронировать жильё только потому что мы распиздяи, которые откладывают подобные заботы до последнего.

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

2020-03-20, Птн

Официальное открытие состоялось в 20:00 по местному времени и представляло собой релиз особой страницы на сайте хакатона, где были представлены задачи и видео выступления какого-то специального человека, который дал старт мероприятию. Нас, конечно же, волновали только задачи о которых до этого было почти ничего неизвестно.

🎫

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

Разумеется, вечером в пятницу мы все были порядком уставшие после рабочей недели, поэтому сразу прикинули план:

  • Сортируем задачи
  • Регаемся на конкретный трек т.к. это требование первого чекпоинта
  • «Распаковываемся» и штурмуемся по конретной задаче в режиме «на минималках»
  • В районе полуночи валим спать.

Мы в меру старые и знаем, что залог продуктивной работы на горизонте 3 суток — шестичасовой сон.

Многие задачи показались нам скучными и, главное, тесными. «Умный» лаунчер для смартфона?! Книжный интернет-магазин?! Вы, блин, прикалываетесь?

В итоге вот как мы отсортировали треки. На первом месте оказалась самая абстрактная задача «Сделайте что угодно на IoT облаке Rightech и картах Here». Технологический стек в поисках проблемы.

Трек Задача Комментарий
9 📡 Любой IoT Будет что показать
4 🏬 Умный город Абстрактно, есть идеи
6 🚙 Smart auto Соблазнительно, но не честно
7 🚁 Feature дроны Интересно, но нет опыта
5 🧬 Бигдата для биотеха Запутанно и требует погружения
8 📚 Книжный интернет-магазин Meh
2 📱 Ядро лаунчера под Android Blah
3 📱 UX лаунчера под Android Pff
1 💸 Новая цифровая платформа Убер для Тиндера, да

До полуночи делимся идеями, но все они кажутся банальными. Очередные облачные noise pollution трекеры и умные мониторы потребления чего бы то ни было. Был прикольный концепт дешевой облачной розетки, которую можно ставить на крупные парковки для зарядки электроавтомобилей, скутеров и пр. Но ясно же, что утром думается быстрее и мы решаем поспать с тем, что напридумывали и снова вернуться к вопросу на свежую голову.

2020-03-21, Сб

Рано утром приезжаем в мастерскую и понимаем, что нас только двое. Когда находишься в родном городе очень силён соблазн «я по-быстрому сгоняю в *любое дело* и сразу вернусь».

За 2 дня мы в полном составе провели, пожалуй, всего 5 часов.

Продолжаем штурмоваться согласно вчерашнему плану и нащупываем идею, которую сами нигде не встречали. Она хорошо ложится в тематику трека. Это устройство, прототип которого мы сможем быстро собрать. Все на хакатонах любят устройства. У нас получается придумать много интересных кейсов использования этой штуки.

Проблема, которую мы решаем выглядит так: Электронная очередь может работать эффективнее. Клиент уже пришёл в твой банк, почтовое отделение, полицейский участок, взял номерок и ждёт. Ждёт… И потом ждёт ещё несколько минут на твоей территории, а твой сервис до сих пор ничего о нём не знает. Ничего, кроме того, что у кого-то в очереди есть номерок В-265.

UI

Концептуально у нас получается кнопка с дисплеем. Нажал на кнопку → получил QR-код → «открыл» его на смартфоне и попал во временный личный кабинет. Уже там можно выбрать услугу ради которой пользователь пришёл, ввести какие-то дополнительные данные о себе, загрузить фотки документов, или просто получить справку о том к какому окну идти и что нужно иметь при себе наготове.

В общем, когда клиент будет стоять напротив оператора, тот будет знать о нём всё необходимое. Нормально! Делаем!

Vienn-analysis

Важными плюсами такой системы являются:

  1. Дешевизна. Развернуть такую очередь может даже мелкий бизнес, которому все эти киоски, табло и пр не по карману.
  2. Неинвазивность. Для установки кнопки нужен двусторонний скотч, а не перфоратор.
  3. Кнопку можно легко скомбить с существующими системами электронных очередей.
  4. Автономность. С e-ink экраном такая кнопка может работать без подзарядки около недели.

Из минусов могу вспомнить:

  1. E-ink экран медленно обновляется. Наша неоптиамльная реализация обновляла экран около 5 секунд. Реально довести этот показатель до 1.5 сек.
  2. Устройство маленькое и не привлекает к себе много внимания. Нужно городить всякие UX ловушки, чтобы им начали пользоваться.

Button arch Традиционная «архитектура» без которой никогда не начинаем.

Button arch

Традиционная «архитектура» без которой никогда не начинаем.

Я сажусь за устройство. Слава берётся за сервер, который генерит личные страницы. Тим разбирается с IoT облаком, куда мы планируем сгружать все логи и телеметрию с устройств. Кирилл чертит взаимодействие и пытается расширить кейсы на другие области типа регистрации в аэропортах, общепит и пр. Дима занимается шаблоном презентации. На продуктовую составляющую мы забиваем, потому что прямо сейчас этим некому заниматься.

Всю субботу мы потратили на набор темпа, который удалось сохранить на следующий день.

Я вспомнил с какой стороны браться за Raspberry и написал генерацию и кривой вывод QR только к ночи. Тим к этому же времени разобрался с IoT облаком Rightech и подписал им несколько багов. Слава, напилил генератор личных страниц. Кирилл проанализировал и отмёл несколько кейсов сказав, что их невозможно будет быстро презентовать. Дима набросал шаблон презентации, стараясь попасть в требования организаторов.

QR broken
К ночи субботы наладил работу с дисплеем и генерацию QR
QR proper layout
На следующее утро научился верстать

В течение дня участники приезжали и уезжали из мастерской. Кто-то работал из дома. Коллективный граиндинг не клеился, но дело, очевидно, двигалось. Ближе к полуночи все разъехались отдыхать.

2020-03-22, Вск

Утром первым делом проводим свой внутренний чекпоинт. Выполняем ревизию доски в Фигме. Составляем основные задачи на день:

  • Сделать интеграцию между нашим облаком, которое отдаёт страницы пользователей и IoT облаком;
  • Для этого нужно определиться со схемой данных;
  • Cверстать QR и пин на экране;
  • Прикрутить к устройству кнопку;
  • Сделать какую-то оснастку или корпус для устройства;
  • Закончить презентацию.

3 Это утверждение не верно во всех случаях! Просто прототип делать всегда интереснее, чем анализировать рынок.

На продукт мы снова забиваем. Предварительные ответы на вопросы «сколько стоит», «кому может пригодиться», «как быстро окупится» и подобные у меня есть. Кажется, что работающий прототип важнее, чем чёткая презентация3.

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

Op mode button
В рабочем режиме
Ready to go button
Призыв к действию, если необходимо

Нам нужно успеть закончить презентацию и снять все демки, выполнить финальные пуши до 18:00. Фактически, я закончил паять, резать и клеить картон только к 16:00. Устройство готово, оно не только работает, но его фотки даже не стыдно показывать незнакомым людям. Тим и Слава закончили интерграцию и теперь первый сел за подключение устройства к облаку, а второй занялся чекпоинтами и видео. Я взялся за презентацию пытаясь выжать главные мысли из всего, что у нас накопилось за эти 2 дня.

iot cloud
Кнопка шлёт телеметрию и генерируемые UUID в IoT облако Rightech
backplane
Слава успел набросать сервер, который генерирует личные страницы и обеспечивает админку до всего этого. Страшненькую, зато работающую! ^_^

Очевидно, что 2 часов на эту работу не хватило. Даже не смотря на то, что от организаторов прилетела новость, что дедлайн по сдаче переносится на 2 часа вперёд, мы сделали низкокачественную презентацию и как всегда сдали её в последний момент.

— Сколько до дедлайна?
— 2 минуты.
— А сколько будет заливаться видео?
— Говорит, что 2 минуты.

Ну по меньшей мере у нас был полностью рабочий прототип.

Результаты

Вечером 26 марта Слава начал закидывать к нам в чат скришоты из которых не сложно было понять, что организаторы апдейтят статику и эти страницы можно получить зная прямой URL. В общем, организаторы обновляли сайт и делали это «по живому». Фактически, таблица с результатами версталась прямо на наших глазах и мы задого до её публикации знали, что заняли первое место.

Non alcoholic beverage
Корпус сделали из толстенного картона, который случайно нашёлся в мастерской
Head start
Два неглупых, в сущности, человека не умеют пользоваться наушниками
At home
Дима первый день работал из дома
The team
Самоизоляцию включат только через неделю

Из-за того, что спонсоры Here и Rightech устроили раздельное голосование на треке оказалось 6 пересекающихся призёров и наша команда с незабываемым названием «Насос Краб Педаль Кебаб» заняла 1 место по версии Rightech.

1st place
Мы настолько не успевали, что даже нормальное название для проекта не придумали

Final scores Организаторы показали детализацию оценок. 10 из 10 за убедительность выступления. То видео я точно шарить не стану.)

Мы честно использовали карты Here для разметки местоположения разных кнопок, но вынужден согласиться: мы не пытались утилизировать все возможности платформы. По-моему, я даже забыл упомянуть про карты на видео.

Зато теперь у нас есть толстовки и 150 тыс неконвертируемых космокредитов. А! Ещё работающий прототип кнопки с дисплеем.

Какой вывод Даша-путешественница сделала из этого приключения?

  1. Онлайн формат подходит только дисциплинированным командам. Работать из дома, или даже офиса — лишённая всякого драйва рутина. В качестве компромиссного варианта можно попробовать участвовать в онлайн хакатоне уезжая всей командой за город откуда трудно выбраться «по делам».
  2. В онлайне симуляция важнее работающего прототипа. Продукт важнее, чем его работоспособность. Но нам-то пофиг, ведь мы тут в первую очредь ради фана, а не ради победы.
  3. Никаких нестандартных шрифтов в Фигме!

QR mandala

Сообщение об ошибке: