обсудить проект

Мобильное приложение с интеграцией ML

Мобильное приложение с интеграцией ML
(О проекте)

Перед нами стояла цель – создать мобильное приложение, которое подскажет, как собрать новые фигуры из старых деталей конструктора. Все, что нужно – это разложить детали и сфотографировать их, а приложение отсканирует, подсчитает и предложит варианты новых идей.


(Задачи)
  • Интегрировать нейронную сеть в мобильное приложение;
  • Разработать приложение на Flutter;
  • Добавить ленту и делиться с друзьями фигурами;
  • Добавить push-уведомления;
  • Интегрировать в профиль для регистрации Google и Facebook.
(Реализация)

1. Разработали и внедрили инструкцию при авторизации.

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

(Реализация)

2. Разработали рекомендации для фигур.

(Реализация)

3. Распознаем детали из большого количества и сканируем готовые фигуры.

Как только вы найдете в приложении подходящую фигуру из имеющихся деталей, можно приступать к сборке. При этом необходимые детали подсветятся, чтобы вам не приходилось напрягаться и искать их. А еще при наведении на собранную фигуру можно отсканировать ее детали, чтобы понять, что еще можно собрать.

(Реализация)

4. Добавили возможность делиться фигурами в соцсетях.

Можно впечатлить своих друзей и подписчиков уникальными конструкциями. Расширьте свой круг общения и вдохновите других людей своими творческими сборками.

(Интеграция ML-модели во Flutter)
  1. Мы создали ML-модель и обучили ее распознавать детали конструктора.
  2. Подключили API, чтобы Flutter взаимодействовал с обученной моделью. Взаимодействие с ML-моделью было реализовано со стороны нативной части Android-приложения на языке Kotlin с использованием библиотеки машинного обучения Tensor Flow.
  3. Добавили взаимодействие между Flutter и нативной частью приложения для работы с обученной моделью. Этот шаг реализован через FlutterChannels – инструмент Flutter.
Олег Алибеков
Олег Алибеков
Flutter-разработчик Amiga

В приложении много анимаций. Мы создали сложные кастомные анимированные элементы в соответствии с поставленным таймингом. Например, контроллер lottie-анимаций для страниц onboarding + кастомизированный переход выбранной идеи конструктора из одной страницы в другую.

(результаты)

За 4 месяца мы разработали с нуля мобильное приложение на Flutter и интегрировали в него ML-модель.

Рейтинг в AppStor — 4.9 до момента введения монетизации, сейчас 4.7. 1млн+ тысяч скачиваний.

(технологии)
Dart/Flutter
Bloc
GraphQL
TensorFlow
Custom animations
Firebase
sPrefs
GetIt
Freezed
RxDart
Android
Analytics
(Команда)

Сергей Лепшей

Руководитель проекта

Леонид Никулин

Дизайнер

Кирилл Калюжный

Teamlead Flutter

Олег Алибеков

Flutter-разработчик