BLOG / ПУБЛИКАЦИЯ
Relatoria: бот знакомств с более осмысленным подбором
Идея Relatoria появилась из желания сделать знакомства менее случайными. В обычных сервисах всё часто сводится к фотографии, паре строк в анкете и бесконечным свайпам. Я хотел сместить акцент в сторону совместимости, интересов и предпочтений человека.
Как работает 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.
Сценарий знакомства
- Регистрация
- Создание анкеты
- Указание интересов и предпочтений
- Расчёт совместимости
- Получение подходящих профилей
- Отметка интереса
- Взаимная симпатия
- Начало общения
Технологии
В проекте используются:
- Python — backend и бизнес-логика;
- Telegram Bot API — интерфейс;
- FastAPI — API-сервис;
- Docker — развёртывание;
- Nginx — reverse proxy;
- база данных — профили, предпочтения и взаимодействия пользователей.
Главная идея
Relatoria не пытается показать пользователю максимальное количество анкет.
- жёсткие фильтры
- расчёт совместимости
- сортировка профилей
- наиболее релевантные знакомства
Задача Relatoria — сократить случайную выдачу и показывать пользователей, которые действительно подходят друг другу по ключевым параметрам.


