← Все публикации

BLOG / ПУБЛИКАЦИЯ

Relatoria: бот знакомств с более осмысленным подбором

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

Relatoria Bot

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

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

При подборе Relatoria сначала отсекает анкеты, которые не соответствуют обязательным критериям, а затем рассчитывает процент совместимости.

Формула совместимости

Каждому параметру задаётся свой вес:

Совместимость =
0.30 × цель знакомства +
0.25 × интересы +
0.20 × образ жизни +
0.15 × личные предпочтения +
0.10 × география

Каждый показатель принимает значение от 0 до 1.

Например:

Цель знакомства: 1.0
Интересы: 0.8
Образ жизни: 1.0
Личные предпочтения: 0.7
География: 1.0

Расчёт:

0.30 × 1.0 +
0.25 × 0.8 +
0.20 × 1.0 +
0.15 × 0.7 +
0.10 × 1.0
= 0.905

Итоговая совместимость: 90.5%

Чем выше результат, тем выше анкета появляется в выдаче.

Конкретный пример подбора

Допустим, пользователь указывает:

  • 33 года;
  • Алматы;
  • ищет девушку 27–35 лет;
  • цель: серьёзные отношения;
  • интересы: путешествия, кино, технологии, мотоциклы;
  • важны спокойный характер и отсутствие вредных привычек.

В базе есть три анкеты.

Анкета A
30 лет, Алматы, серьёзные отношения, путешествия и кино, не курит.

Анкета B
32 года, Алматы, ищет лёгкое общение, любит клубы и вечеринки.

Анкета C
29 лет, Астана, серьёзные отношения, технологии и путешествия.

После расчёта система может получить:

Анкета A — 91%
Анкета C — 76%
Анкета B — 43%

Поэтому первой будет показана Анкета A.

Сценарий знакомства

  1. Регистрация
  2. Создание анкеты
  3. Указание интересов и предпочтений
  4. Расчёт совместимости
  5. Получение подходящих профилей
  6. Отметка интереса
  7. Взаимная симпатия
  8. Начало общения

Технологии

В проекте используются:

  • Python — backend и бизнес-логика;
  • Telegram Bot API — интерфейс;
  • FastAPI — API-сервис;
  • Docker — развёртывание;
  • Nginx — reverse proxy;
  • база данных — профили, предпочтения и взаимодействия пользователей.

Главная идея

Relatoria не пытается показать пользователю максимальное количество анкет.

  • жёсткие фильтры
  • расчёт совместимости
  • сортировка профилей
  • наиболее релевантные знакомства

Задача Relatoria — сократить случайную выдачу и показывать пользователей, которые действительно подходят друг другу по ключевым параметрам.