ВСЕ ПРОЕКТЫ

Willi

Telegram Mini App с AI для аренды на Бали: превращает хаотичные объявления из чатов в карту, по которой можно искать. Сделали целиком — от дизайна до кода.

Тема
  • AI
  • Mobile / Telegram
  • E-commerce
Завершён
Март 2024
Роль
Разработка / Продуктовый дизайн / Айдентика / Стратегия
Дисциплины
  • Frontend
  • Backend
  • UX/UI-дизайн
  • Айдентика
  • Стратегия

Our own product, end to end

Willi — наш собственный продукт, а не заказ, и мы сделали его целиком: стратегию, дизайн, фронтенд, бэкенд, базу данных и инфраструктуру, на которой он работает.

На Бали виллы и комнаты сдают через Telegram-группы и личные сообщения: фото в треде, цены в любой валюте, ничего нельзя найти поиском. Willi читает эти чаты и собирает из них один каталог внутри Telegram. На пике у него было 5 000 пользователей в день и несколько тысяч объявлений.

From a chat message to a listing

Новые сообщения из чатов аренды проходят через AI-пайплайн. Сначала он отличает объявление от запроса того, кто ищет жильё, или от шума, потом вытаскивает тип, цену, валюту, срок аренды, число спален, удобства, даты и место — из русского, английского или их смеси, включая формулировки вроде «15 млн за 5 месяцев».

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

Duplicates for almost nothing

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

Search and matching on the map

Поиск работает на PostgreSQL с PostGIS: реальные расстояния от пользователя до каждого места, радиус на карте и ранжирование по тому, насколько объявление подходит, — бюджет с учётом валют и сроков аренды, тип, спальни и ванные, удобства, проверенные собственники, свежесть и продвижение. Сначала идут точные совпадения, потом близкие альтернативы.

Это работает в обе стороны. Тот, кто ищет жильё, может оставить запрос с бюджетом, датами и районом, а фоновая очередь присылает подходящие объявления через бота — с deep link прямо на карточку.

Inside Telegram, payments included

Регистрации нет: бэкенд проверяет подписанные Telegram данные initData и только после этого открывает сессию. Собственники платят за дополнительные объявления и продвижение через счета Telegram, и каждый платёж проходит через явные состояния, поэтому покупка никогда не применяется дважды и не теряется.

Stack

Next.js · TypeScript · PostgreSQL · PostGIS · Prisma · Cloudflare Images · Sentry · Docker · Fly.io

СЛЕДУЮЩИЙ ПРОЕКТДВИЖ.LABПлатформа онлайн-реабилитации: запись, оплата, видеоконсультации, персональные программы и видеоотчёты для пациентов, специалистов и администраторов. Всё это сделали мы.ОТКРЫТЬ ПРОЕКТ

Следующий проект — ваш.

Для начала хватит сырой идеи, недописанного брифа или задачи, которую пока трудно сформулировать. Расскажите, над чем работаете, — мы ответим вопросами, а не прайсом.