У каждого айтишника наверняка найдётся парочка проектов в портфолио, которые он отнёс бы к категории необычных. У сотрудников CactusSoft их набралось немало: от похоронного бюро до выборов в парламент Скандинавии.
Читать далее…
Сайт для похорон: мотокатафалк и военный оркестр
Проектный менеджер Стася Елисеева в начале своей карьеры работала над сайтом для американского похоронного бюро, где пожилые люди могли выбрать все составляющие церемонии погребения.
— На сайте можно было спланировать собственные похороны: выбрать веру, кладбище, церковь, гостей, музыку, памятник, кремировать тебя или нет. Упор был на тематические похороны. Например, если ты байкер и всю жизнь ездил на харлее, то можешь заказать себе мотокатафалк. Если ты был пилотом и служил в армии, то можешь заказать пролёт самолётов над кладбищем во время погребения. Хочешь уйти стильно? — вот тебе карета.
У этого бюро было много оригинальных катафалков и возможность договориться, например, с военным оркестром, чтобы тот выступил на похоронах. Также на сайте была страница, где можно было написать слова прощания усопшему. Родственники или сам человек могли заранее выбрать фон и картинку, которую потом поставят на эту страницу.
С точки зрения разработки проект был несложный, обычный e-commerce, где можно выбрать какие-то опции и положить их в корзину. Но само наполнение сайта (музыка, картинки, заставки) были просто шикарны. На стоках найти всё это было непросто: там много радостного, а у нас — грусть и печаль. Тестировать этот сайт можно было бы вечно. А каналы продвижения вообще остались для меня загадкой.
Для наших реалий всё это выглядит очень странно, но для Америки абсолютно нормально — позаботиться о своём последнем дне заранее.
Приложение для погашения штрафов ГАИ в Минске
Технический лид Максим Вялых любил превышать скорость (уже, правда, перестал), за что получал штрафы от ГАИ. Поэтому ему приходилось часто заходить на сайт МВД, где размещена информация по штрафам, а потом в платёжную систему, чтобы его оплатить. Чтобы упростить себе жизнь, он сделал мобильное приложение, в котором можно в два клика посмотреть штраф, а в ближайшее время появится функция «погасить».
По словам Максима, он делал приложение для себя, чтобы сэкономить время, которое обычно тратится на переходы с одной веб-страницы на другую. Чтобы приложение «не валялось без дела», он разместил его в AppStore и Play Market, и люди начали им пользоваться. Сейчас — уже около 3 тысяч пользователей.
В приложении можно добавлять несколько машин (свою, жены, тёщи — шутит Максим) и просматривать их штрафы. Информация в приложении обновляется каждый час (на сайте ГАИ МВД — раз в сутки).
— Я научился достаточно хорошо имитировать поведение пользователя через JS, как будто это он заходил на веб-страницу (для пользователя не видно, а функционал приложения работает), чтобы получить сумму штрафа. А вот с платёжными системами интегрироваться оказалось не так просто. У них нет нормальных интерфейсов для интеграции. Я обращался в ЕРИП, но мне сказали, что у них нет открытого API. Поэтому над этим нужно будет ещё подумать и написать модуль, который сможет принимать платежи, только не так, как у ЕРИП — выберите одну категорию, потом другую и пр.
ГАИ достаточно закрытые ребята, поэтому с ними лично я не общался. У них любые проекты делаются на уровне тендера. Насколько я знаю, там уже готовят что-то похожее на моё приложение, но более навороченное.
Бот для пивоваренного завода
iOS-разработчику Ивану Соболевскому довелось создавать бота, который по запросу отображает статистику продаж спиртных напитков. «Наша задача заключалась в том, чтобы сделать бота, с которым сможет работать даже самый возрастной и не разбирающийся в технологиях менеджер завода. Никаких наворотов в интерфейсе или большого количества ползунков, конечно же, не должно было быть», — вспоминает непростую задачу программист.
— Я мобильный разработчик, но на этом проекте мобильной разработки почти не было, мне пришлось погрузиться в скриптовые языки программирования и по сути создавать бота на сервисах Amazon. Как научить бота отличать водку от пива или рассчитывать тренды: продажи какой марки пива выросли во время футбольного матча или как наш бренд выглядит на фоне других? Это нетривиальные задачи, с которыми мы столкнулись на этом проекте.
Я пытался решать проблему машинного обучения без погружения в низкоуровневое программирование. Фреймворк от Amazon высокоуровневый, непосредственного доступа к машинному обучению нет, поэтому некоторые низкоуровневые задачи приходилось решать за счёт разных ухищрений.
Например, заказчик попросил научить бота понимать ирландский акцент.
У нас была база данных со статистикой за 2016 год, а потом клиент попросил выявить тренд продаж 2015 года. На наши возражения, что в базе нет такой статистики, он ответил «придумайте что-нибудь или сами посчитайте».
По итогу бот научился понимать человеческую речь и выдавать ответы на вопросы заказчика в режиме реального времени. Правда, иногда путал названия продуктов: когда его просили показать статистику по одному бренду, выдавал информацию конкурента.
Программа, которая играет в покер
Net-разработчик Игорь Пешко, будучи студентом, сделал с товарищем программу для игры в покер. Она ежемесячно приносила по $600 на двоих.
— Я написал оболочку для распознавания столов в игре, но запустить на своём компьютере её не мог — покер-румы отслеживали установленный на компьютере игрока софт. Поэтому мы подключали видео-грабер к одному компьютеру и парсили игру на другом. Самая интересная часть в разработке такой программы — логика принятия решений. В первой версии у нас было дерево решений, и мы брали среднее значение основных параметров статистики для всех игроков и постоянно его подгоняли. После отыгрыша 50 тысяч рук (покерных раздач) бот начинал проигрывать, и тогда мы подкручивали статистику и продолжали играть.
В ходе «ежемесячной гонки» игроки боролись за призовые места, которые сулили хороший выигрыш. Было видно, что кругом — одни боты. Не может человек отыгрывать по 20 тысяч рук (покерных раздач) в сутки. Да и одинаковой статистики у двух реальных игроков просто не может быть.
Однажды покер-рум всё-таки вычислил создателей бота. У одного из разработчиков на компьютере была открыта среда разработки и запущен покер-рум. Его тут же заблокировали, сделав предупреждение. «Пришлось выдумывать историю про исходники, которые мы скачали из любопытства. Вообще, если вы используете какую-то программу для игры, то рум может потребовать объяснить, что это за программа и что она делает, — поясняет Игорь.
— Во второй версии бота мы уже начали смотреть в сторону ИИ, алгоритмов кластеризации, чтобы можно было адаптироваться к манере игры конкретного игрока (статистика очень обширная). Кое-что у нас получалось, но когда мы пытались перейти на лимит выше, то бот начинал проигрывать. Поэтому вскоре мы оставили эту идею. Потом нам разные ребята предлагали сотрудничать, но мы вышли из игры.
Свою разработку студенты никому не продали: «В общественность такое не закинешь. Можно было бы попробовать продать какому-то одному игроку, но мы об этом тогда даже не подумали».
Приложение для скандинавских выборов
В 2009 году команда белорусских разработчиков CactusSoft с участием Павла Гришкевича сотрудничала со скандинавским медиа-агентством.
— Это агентство активно использовало популярные на то время Facebook-приложения как часть маркетинговой кампании и вело себя достаточно агрессивно на рынке. Его рекламные кампании обычно были приурочены к календарному событию, поэтому сроки были очень жёсткими. К примеру, приходил огромный брэнд и говорил: у нас проплаченная реклама на телевидении через месяц, в которой будет ссылка на приложение! Такой уровень дедлайнов обеспечивал безумный драйв, — поясняет собеседник.
Первый проект, который белорусы делали со скандинавским агентством — Facebook-приложение для политической партии, баллотировавшейся в парламент. Через него пользователи могли посмотреть профиль каждого кандидата и проголосовать за понравившегося. «На странице профиля пользователя был блок с контентом приложения, если пользователь давал нужное разрешение, в нём мы выводили кандидатов», — вспоминает Павел.
— Это был наш первый проект, и мы понятия не имели, как работать с Facebook, — читали книги и изучали тему по всем каналам. На тот момент у FB была библиотека со скудным набором возможностей, она жёстко ограничивала функциональность и блокировала многие фичи. Из-за этого мы не могли использовать нативный код и искали обходные пути. Плюс после каждого обновления FB SDK нам приходилось менять подход к разработке (где-то раз в полгода), мы даже собрали тогда базу с готовыми решениями.
Основная «необычность» даже не в том, что мы создавали приложение для выборов, а в том, что дистанции, на которые делали забег, были предельно короткими — месяц максимум, ведь реклама на телевидении со ссылкой на приложение уже оплачена. Такая ответственность сильно мотивирует, и ты работаешь в разы быстрее обычного. После этого проекта к нам приходили большие бренды, такие как BMW, Sony — и всё это в такие же сроки. Позже агентство обзавелось своим отделом разработки, но у нас остался хороший опыт забегов на короткую дистанцию.
Фото: Андрей Давыдчик
Эта публикация подготовлена в партнёрстве с CactusSoft.
Что такое партнёрский материал?
ООО «Кактуссофт» УНП 190811686
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.