Lisa AI — Мобильное приложение для подбора кандидатов и партнеров
О продукте
Проект Lisa AI – аналог Тиндера, который с помощью ИИ позволяет найти единомышленников и партнеров для обучения, хобби и совместных занятий онлайн и оффлайн: от игры в шахматы и теннис до прогулок с собакой. Пользователи подбирают также и специалистов под свои задачи: няню, садовника, разработчика и т.д.
На первый взгляд приложение кажется достаточно простым, но под капотом у него мощный стек программирования.
2 человека
3 месяца
Какая была задача
Клиент обратился к нам с готовым продуктом, для которого требовалось полноценное iOS-приложение.
Решение
На основе предоставленного заказчиком модуля KMM и дизайна в Figma, мы разработали нативное решение с использованием KMM и SwiftUI, UIKit и анимаций Lottie.
Основной вызов состоял в том, что до нас продукт писали на UIKit и нам предстояло адаптировать приложение под SwiftUI. Этот фреймворк выбрали для быстроты верстки. Требовалось сделать приложение таким же, каким оно было в дизайне, и мы сверстали его пиксель в пиксель.
Благодаря широкой функциональности, производительности, сложному алгоритму подбора и технологии искусственного интеллекта LISA, приложение подбирает идеальные пары с общими интересами.
Вызовы
Как и в Тиндере, на карточках представлены вопросы, которые определяют, что пользователю нравится и не нравится. Одним из самых сложных нюансов в разработке стала реализация этого карточного стека, поскольку SwiftUI болезненно работает в связке с анимациями.
На карточках было много анимаций и главной проблемой стала производительность. На новых устройствах все работало гладко, но как только приложение запускали на старом устройстве, батарея нагревалась, происходили глюки, рывки анимаций и подвисания. После написания кастомного стека проект обрел второе дыхание.
Мы реализовали парсинг длинной анимации на кусочки (маркеры) и логическое связывание их в целостную картинку. При этом происходит взаимодействие с пользователем: когда он нажимает на определенную кнопку на карточке, анимация плавно переключается, отображая следующий маркер.
Также есть карточки с записью фидбека пользователя. Человек нажимает на анимированную кнопку с микрофоном, волна начинает вибрировать в зависимости от громкости разговора и запускается звуковая анимация (как на старых цифровых магнитофонах, которые реагировали на биты). Заказчик планирует собирать обратную связь от пользователей при помощи таких карточек.
Некоторые карточки добавляют сами пользователи: например, можно загрузить несколько фотографий, которые листаются. Кроме того, многие кнопки в приложении тактильные, при их нажатии используется вибромотор устройства – это дает ощущение плавности.
Но самая интересная функция – регистрация, завязанная на идее общения между пользователем и приложением. Когда человек заходит в приложение и проходит онбординг, с ним переписывается та самая Lisa, маскот компании. Кстати, маскот всегда есть на главной и время от времени воспроизводит различные Lottie маркеры (анимации, которые присылаются с бэкенда).