Как я выбираю фильм на вечер, доверяя "тупому" боту

Не сказал бы, что переживаю за каждую минуту своей жизни. Но тратить их по 30 или больше, просто чтобы найти кино - это уже слишком. История о том, как вечерний выбор фильма оформил в бота с одной единственной фичей - рандом.

Как я выбираю фильм на вечер, доверяя "тупому" боту

Как вы выбираете, чего бы посмотреть с женой/семьей/второй половинкой или друзьями? Мы садились и начинали гуглить "лучшие детективы 2023", "драмы новинки" и прочее. Тыкали на каждый красивый постер и читали описание. Редко, иногда, даже смотрели трейлеры, потом откатывались назад. Чтобы провалиться в один вариант - тратили по 5 минут, в среднем.

В какой-то момент это стало надоедать. Я подумал, что есть в жизни куча моментов, которые можно было бы тратить полезнее. Например, на перекуре или в автобусе читать про кино и откладывать годные варианты. Оставалось только только свести эту операцию к самому примитивному действию - тапу. История помнит немало примеров, где главной фичей был обычный тап

Curiosity: What's Inside the Cube (2012). Куб из примерно 60 миллиардов кубиков, которые надо просто разбивать тапами.
Curiosity: What's Inside the Cube (2012). Куб из примерно 60 миллиардов кубиков, которые надо просто разбивать тапами.
Hamster Kombat (2024). Все все понимают.
Hamster Kombat (2024). Все все понимают.

Коротко про бота для тех, кому не сильно интересно, что происходило в процессе

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

Просто жмите "Следующий 🎬" и ждите очередную рекомендацию. Понравилось? Закрепите в боте, перешлите в Избранное или тому, с кем хотите посмотреть. И жмите дальше.

Вот ссылка для желающих попробовать

Выбор площадки

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

Источник данных

Я - давний пользователь продуктов Яндекса (со всеми плюсами и минусами). Поэтому мечтал, чтобы Kinopoisk предоставлял свое API. Но этого не случилось. Доступ можно получить, но, кажется, в индивидуальном порядке и на индивидуальных условиях. Но тут гугл подкинул мне API, которое на своем сайте уверяло, что

Не имеет никакого отношения к сервису КиноПоиск. Все данные берутся из открытых источников и никак не нарушают права авторов.
kinopoisk.dev

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

База данных и сервер

А вот тут у меня, frontend-разработчика, появилось инстинктивное желание найти себе бэкендера/деплоера. Пришлось его пересилить и идти на ютуб. Там нашел, что MongoDB - самый просто вариант для меня. К тому же был неплохой мануал, как доставить все на VPS. Вот и вторые траты: 390 рублей в месяц за сервер и 150 рублей в год за домен.

Монетизация

Не надо быть передовым калькулятором Apple, чтобы посчитать, что задумка уже обходится мне в 3390 рублей ежемесячно. Не страшно, ведь у телеги шикарные нативные методы оплаты, подумал я и проклял Пашу Дурова во второй раз (первый, за стену ВК). За неделю до описываемых событий Telegram ввел Stars - внутреннюю валюту, которой теперь должны рассчитываться все покупатели и продавцы нематериальных товаров и услуг.

Окей, гугл... Так наткнулся на ребят Paywall. Сервис оплаты подписок в телеграме для чатов и каналов. Техподдержка помогла адаптировать это дело под бота. И вот вместо 30% комиссии Apple или сколько-то Google я плачу 20% ребятам из Paywall.

Много? Как будто бы. Но сервис берет на себя вообще все заботы об оплате: подписка, отписка, возврат средств, доставка пользователя до моего бота. Поэтому за неимением оного соглашаемся и подключаем!

Реакция и итоги. Или почему бот тупой?

Все, кому отдавал на тесты, спрашивали, есть ли под капотом gpt-образное существо, которое помнит твои предпочтения и советует что-то подобное. Ответ: нет!

Несколько раз приходилось попадать в ловушки алгоритмов, когда твои вчерашние предпочтения тебя уже мало интересуют, но напоминают о себе и сегодня, и буду завтра, и даже через неделю. Хочу рандом!

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

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

Еще раз ссылка на бота GiveMeMovie

88
8 комментариев

В общем крутая идея, стоит попробовать, у меня всегда проблема с выбором, надеюсь не разочаруете)

Ответить

Если вдруг что-то разочарует, пишите мне) все можно поправить!

Ответить

GiveMeMovie что то мне это напоминает,чем то похоже на проект в стиле тиндера только с фильмами не помню как называется

Ответить

Вы задали слишком узкие фильтры. Не можем найти фильмов в жанре(-ах) ДРАМА, БОЕВИК, ВЕСТЕРН, ВОЕННЫЙ, ДЕТЕКТИВ, ИГРА, ИСТОРИЯ, КОМЕДИЯ, КРИМИНАЛ, МЕЛОДРАМА, МЮЗИКЛ, ПРИКЛЮЧЕНИЯ, РЕАЛЬНОЕ ТВ, СЕМЕЙНЫЙ, ФАНТАСТИКА, ФИЛЬМ-НУАР с рейтингом Кинопоиска 6-10, которые выходили бы в 2015-2024 году(-ах). Поробуйте изменить фильтры.

Ответить

неплохо, тоже хотел что-то подобное сделать, но очередь из идей слишком велика, а ресурсов мало)
есть что доработать, но уже выглядит прилично
рекламу давали, как окупаемость?

Ответить

Бот мир (или мир бота) увидел только вчера, поэтому об окупаемости пока речи не идет)

В том числе и потому что рекламы никакой не давал, нет в этом никакого опыта. Есть мысли, как это сделать поэффективнее?

Ответить