Generative UI для ваших приложений — в режиме реального времени, под задачу пользователя

AppSana понимает задачу и в режиме реального времени собирает интерфейс из вашей дизайн-системы: из виджетов, инструментов и действий, которые в приложении уже есть.

Человеку не нужно привыкать к приложению. Приложение подстраивается под него.

Live Demo

Попросите AppSana перестроить главный экран.

Это демо суперприложения: баннеры, сервисы, карты, переводы и товары. Скажите «хочу купить» или «сделать перевод» — нужные блоки окажутся наверху.

9:415G

Проблема

Задач у людей больше, чем экранов, которые вы успеете нарисовать.

В рабочем приложении уже есть экраны, API, логика и дизайн-система. Каждая новая задача всё равно превращается в ещё один экран, ещё один пункт меню и ещё один случай, который надо поддерживать. Продукт умеет больше — и пользоваться им становится труднее.

Экраны

На каждую задачу — свой экран

Переводы, фильтры, аналитика, бюджеты, рекомендации. У каждого свой маршрут.

Навигация

Сначала надо понять, куда нажать

Короткий путь к результату редко совпадает с тем, как устроено меню.

Поддержка

Каждый сценарий остаётся с вами

Новые состояния, новые исключения и новая работа дизайна с разработкой — каждый раз, когда появляется новая задача.

Что уже есть

Нужные вещи спрятаны глубоко

API и виджеты уже написаны. Человек всё равно собирает путь по экранам сам.

Другой подход

Не гадайте, на какой экран вести. Спросите, что человек хочет сделать.

Обычно продукт превращает задачу в маршрут по меню. AppSana берёт ту же задачу и собирает экран из виджетов, инструментов и действий, которые у вас уже есть.

КАК СЕЙЧАС

Человек подстраивается под приложение

Экраны заданы заранее. Сценарии тоже. Чтобы что-то сделать, нужно выучить, как у вас всё разложено.

  1. →Есть задача
  2. →Искать нужный раздел
  3. →Открывать экраны один за другим
  4. →Найти инструмент, если повезёт

С APPSANA

Приложение подстраивается под человека

Есть задача и то, что приложение уже знает на устройстве. SDK вызывает ваши инструменты, а экран собирается из виджетов, которые нужны сейчас.

  1. →Есть задача
  2. →SDK вызывает нужные инструменты на устройстве
  3. →Экран собирается из вашей дизайн-системы
  4. →Человек получает результат

Контекст

Экран показывает то, что важно сейчас, а не одну и ту же главную.

AppSana не придумывает возможности, которых в приложении нет. Приложение само вызывает свои инструменты, а наверх поднимаются виджеты из вашей дизайн-системы. Так экран понимает, что показать первым.

БАНК

Долг оказывается наверху

Если есть неоплаченный счёт, не нужно ждать, пока человек сам откроет «Платежи». Наверх встаёт виджет оплаты: сумма, срок и кнопка, которую вы уже сделали.

get_balance_due → виджет оплаты наверх

ПУТЕШЕСТВИЯ

Сегодняшний рейс становится посадочным

Если человек летит сегодня, главная — не витрина туров. На ней выход, место и время посадки. Виджеты те же, что уже есть в приложении.

get_todays_trip → посадочный талон

Безопасность

Чтобы поменять экран, модели не нужны личные данные.

AppSana отправляет устройство экрана, а не секреты. Модель видит форму JSON-дерева, список ваших инструментов, действия SDK и виджеты дизайн-системы. В ответ приходят инструкции: что передвинуть и какой инструмент вызвать. Балансы, номера карт, билеты и данные пользователя остаются в приложении. На серверы AppSana и в модель они не попадают.

ЧТО ВИДИТ МОДЕЛЬ

  • ▸Как устроен текущий экран: типы виджетов, их id и раскладка
  • ▸Какие инструменты есть на устройстве — только схемы, без личных ответов
  • ▸Какие действия SDK может выполнить
  • ▸Какие виджеты дизайн-системы можно собрать
  • ▸Что вернуть в приложение: как поменять дерево или вызвать инструмент

ЧТО ОСТАЁТСЯ В ПРИЛОЖЕНИИ

  • ▸Балансы, номера карт, билеты и данные пользователя
  • ▸Сами вызовы — запрос, оплата, поиск — внутри приложения
  • ▸Сырые ответы инструментов, пока вы сами не решите отправить поле
  • ▸Чтобы поменять экран, AppSana и модели эти данные не нужны

Свой экран

Пусть у каждого будет главная под его задачи.

Такие интерфейсы только появляются. Большинство приложений по-прежнему показывают всем одну раскладку и ждут следующего релиза, чтобы закрыть следующую задачу. С AppSana человек может закрепить переводы, спрятать карты, поднять путешествия или собрать свой экран из ваших виджетов — без отдельного экрана настроек на каждое желание.

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

Его раскладка

Закрепить переводы, спрятать карты, поднять путешествия. Главный экран совпадает с тем, как человек реально пользуется приложением.

Ваши виджеты

Каждый блок по-прежнему из дизайн-системы, которую вы уже выпустили. Меняется порядок, а не внешний вид.

Кто успеет первым

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

Как это работает

Приложение вы собираете один раз. Экран под задачу собирает AppSana.

Что продукт умеет, по-прежнему решаете вы. AppSana стоит между текущим экраном и моделью и говорит SDK, какие виджеты показать и какие ваши инструменты вызвать.

ЧТО ДАЁТЕ ВЫ

  • Библиотека виджетов

    Экраны и компоненты, которые вы уже спроектировали, вместе с контрактами дизайн-системы.

  • Инструменты и действия

    То, что приложение умеет на самом деле: узнать долг, сегодняшний рейс, начать перевод. Вызывает приложение, не модель.

  • Устройство экрана

    Текущее дерево виджетов в виде JSON. Модель видит типы и id, а не личные данные.

ЧТО ДЕЛАЕТ APPSANA

  • Понимает задачу

    Смотрит запрос рядом с текущим экраном, доступными виджетами и схемами инструментов.

  • Выбирает инструменты

    Решает, что вызвать. Код, которого в приложении нет, запустить нельзя.

  • Меняет экран

    Говорит SDK, что сделать: передвинуть виджет, скрыть блок или поставить посадочный наверх.

SDK

Подключите runtime, поставьте view, дизайн-систему не трогайте.

Вставьте BduiView в любой Compose-экран: на весь экран, во вкладку, в карточку или рядом с вашими виджетами. Приложение рисует их само, вызывает инструменты и применяет то, что вернул AppSana. Что продукт умеет, по-прежнему определяет ваш код.

Bdui.init(
    BduiConfig {
        httpClient = appHttpClient
        appsana = BduiAppsana(
            url = "https://appsana-platform.vercel.app/api/bdui",
            apiKey = appsanaApiKey,
            applicationId = applicationId,
        )
    },
)

@Composable
fun HomeScreen() {
    BduiView(
        initialJson = homeJson,
        modifier = Modifier.fillMaxSize(),
    )
}

BduiAppsanaClient(config, runtime)
    .transform("Show my boarding pass")

Кому это нужно

Командам, у которых приложение уже работает.

CTO, руководителям мобильной разработки и продактам, у которых уже сотни экранов, API и устоявшиеся сценарии. AppSana — слой поверх того, что уже сделано: банки, магазины, маркетплейсы, путешествия, связь и суперприложения.

Финтех

“Покажи, куда ушли деньги.”

Долг, траты по категориям и перевод, который человек правда может отправить. Один экран, а не пять переходов.

Магазин

“Собери всё для поездки на выходные до 150 000 ₸.”

Каталог, корзина и лимит, которые в приложении уже есть, собранные вокруг поездки, а не вокруг строки поиска.

Путешествия

“Мне нужно домой завтра утром, с минимумом пересадок.”

Поиск и бронирование, которыми вы уже управляете, под это условие. Если рейс сегодня — ещё и посадочный.

Доставка еды

“Сегодня вечером нас восемь. Помоги заказать ужин.”

Рестораны, размер компании, ограничения по еде и оплата. Одна задача, а не долгое листание ленты.

Связь

“Интернет тормозит. Проверь тариф и помоги починить.”

Тариф, диагностика и те действия поддержки, которые приложение уже умеет.

Маркетплейсы

“Нужен сантехник, который приедет сегодня.”

Поиск, оценки, свободные окна и запись. Всё, что на площадке уже есть, собрано вокруг срочности.

Успейте раньше. Пусть задачу доделывают у вас, а не у конкурента.

Откройте виджеты, инструменты и действия. Экран под конкретный момент соберётся из дизайн-системы, которой вы уже доверяете.

AppSana — экраны под задачу в приложениях, которые у вас уже есть.

ДокументацияВойти