Сразу сделаю чистосердечное признание: я ручной тестировщик. Я не умею писать код с закрытыми глазами, и да — эту статью мне тоже помог структурировать ИИ по моим промптам.
Зато я умею декомпозировать задачи, выстраивать логику продукта и ломать то, что уже написано.
Меня бесила ситуация, когда я не могу подобрать себе фильм для просмотра. Обычно, у фильмов только скудное описание и рейтинг. Чтобы посмотреть трейлер нужно умудриться его найти. Да, можно прочитать отзывы, но там в основном рецензии на пару минут чтения
Я решил, что мне нужен инструмент, который превратит выбор фильма из рутины в развлечение. Бюджет — 0 рублей. Команда — я и нейросеть (Gemini 3.1 Pro).
В IT сейчас активно спорят про «вайбкодинг». Кто-то считает это абсолютным злом и костылестроением, кто-то — неизбежным будущим. Я решил проверить этот подход на практике и за выходные собрал MVP своего сервиса.
Концепт продукта (KiSwipe) и механика
Я сразу отказался от идеи классического Тиндера с карточками вправо/влево. Современный паттерн потребления — это короткие вертикальные видео. Поэтому я сделал кино-TikTok.
Приложил скринкаст, показывающий возможности приложения
Как это работает на практике:
Вы заходите на сайт с телефона или с декстоп версии браузера. Вас встречает полноэкранная лента HD-трейлеров, которые запускаются автоматически.
Свайпаете вверх-вниз. Увидели классный фильм — нажимаете иконку "Лайк" (сердечко) на панели справа и трейлер сохранился в избранное (иконка закладки в правом верхнем углу)
Главная фича: Вы нажимаете на иконку "Мэтча" сверху и создаете «Связь» (Connection), например, назвав её «Жена».
Приложение генерирует уникальную ссылку вида /?room=ID. Вы кидаете эту ссылку партнеру в любой мессенджер.
Партнер переходит по ссылке, вводит имя с кем будет связь, и сессии связываются.
Теперь вы оба сидите (каждый в своем телефоне) и свайпаете ленту. Сервер каждые пару секунд синхронизирует списки ваших лайков.
-
Как только вы оба лайкнули один и тот же фильм — алгоритм ловит пересечение ID. На экранах обоих смартфонов блокируется лента и взрывается анимация «IT'S A MATCH!» с постером фильма. Выбор сделан, можно смотреть фильм

Уведа в центре экрана при совпадении фильмов, которые каждый сам добавил себе в избранное 
Интерфейс приложения Так как я ставил задачу нейросети, мне нужно было максимально простое и легковесное окружение. Я попросил ИИ предложить стек для MVP, который можно быстро развернуть на дешевом VPS.
Ответ был таким:
Бэкенд:
Node.js+Express. Идеально для легкого API и статики.База данных: Отказались от тяжелых БД на старте. Информацию о фильмах тянем "на лету" через TMDB API, а комнаты, связи и лайки храним в оперативной памяти сервера (глобальные пулы) и в
localStorageна клиенте.Фронтенд: Чистый
HTML/CSS/JSбез фреймворков Для бесконечной вертикальной ленты видео взялиSwiper.js.
Первая реальная проблема вайбкодинга: Сначала нейросеть радостно выплюнула мне один гигантский index.js на 1000 строк, где смешалась логика плеера, UI, свайпов и работы с сервером.
Как QA, я понимал: тестировать и фиксить баги в таком спагетти-коде будет физически невозможно. Если сломается плеер, ИИ при переписывании монолита обязательно сломает мне верстку. Поэтому мне пришлось взять роль архитектора и заставить ИИ жестко разнести проект на модули: ui.js — только работа с DOM (модалки, кнопки, тосты, боттомшиты). player.js — инкапсулированная логика YouTube Iframe API. swiper.js — логика подгрузки новых фильмов (пагинация) и тайминги свайпа. storage.js — работа с локальной памятью.
Это решение спасло проект. Когда мне нужно было изменить логику свайпов или меню фильтров, я кидал нейросети только один конкретный файл, не рискуя сломать всё остальное. ИИ — отличный кодер, но отвратительный архитектор без строгого контроля.
Главный босс: Проблема с YouTube и переезд на Запад
Основа приложения — это трейлеры. Самый простой способ их показывать — использовать YouTube Iframe API. И тут я, тестируя проект из РФ, столкнулся с непреодолимой технической стеной: блокировка и замедление работы видеохостинга. Провайдер не отдавал ошибку, он просто "вешал" соединение. В итоге всё приложение замирало в бесконечном лоадере.
Я понимал, что просить пользователей применять сторонние инструменты обхода сети — это утопия, конверсия будет нулевой.
Я принял решение сразу делать проект под зарубежный рынок. Перевел весь интерфейс на английский, а базу TMDB заставил отдавать описания фильмов и стриминги (Netflix, Hulu, Amazon) для региона US.
Итоги и приглашение к краш-тесту
Проект KiSwipe задеплоен и работает в десктоп и мобильных версиях браузера.
Конечно, сейчас я ломаю голову над главной проблемой любого фаундера — где брать трафик, если у тебя нулевой бюджет на маркетинг.
Я уже начал собирать отдельного ИИ-Агента (микросервис на базе FFmpeg и OpenAI API), который автоматически генерирует вирусные Reels/Shorts для продвижения проекта качает видео, делает нарезки, пишет скандальные теории, озвучивает их и клеит видео), но это тема для отдельной большой статьи.
Как ручной тестировщик, я прокликал основные сценарии, но глаз уже замылился. Буду очень рад, если сообщество Хабра зайдет и устроит моему приложению жесткий краш-тест.
Пишите любые найденные баги, критикуйте UI/UX (например, левый сайдбар для фильтров), ругайте вайбкодинг — для меня сейчас нет ничего ценнее вашей суровой обратной связи!
Комментарии (11)

dan_sw
27.03.2026 04:12Как ручной тестировщик, я прокликал основные сценарии, но глаз уже замылился. Буду очень рад, если сообщество Хабра зайдет и устроит моему приложению жесткий краш-тест.
Вообще, подобного рода статьи часто несут в себе "самодискредитацию" и обесценивают любые Ваши трудозатраты, применяемые к данному проекту.. Зачем кому-то тратить время на "Ваш проект", когда любой желающий пользователь, не имеющий опыта в программировании и навыков разработки в принципе может сделать тоже самое, ещё может быть и лучше? Смысл устраивать Вашему приложению краш-тест, когда можно собрать своё "за выходные"? Вообще нет никакого смысла, как и обращать внимание на такой проект - можно тоже самое сделать по тому же алгоритму действий что и Вы, да ещё и сделать это лучше (особенно, если этим будет заниматься человек, который имеет опыт разработки).
Пишите любые найденные баги, критикуйте UI/UX (например, левый сайдбар для фильтров), ругайте вайбкодинг — для меня сейчас нет ничего ценнее вашей суровой обратной связи!
И обратную связь нет смысла давать в таком случае. Любой труд в рамках данного проекта обесценен, "раз я могу собрать такое сам за выходные". Зачем кому-то вообще его смотреть?... Ещё и время тратить на обратную связь...

house2008
27.03.2026 04:12У меня тоже от подобных статей диссонанс, если чел не умеет в код и сделал проект за выходные, значит тоже самое может сделать любая домохозяйка. Это как на кулинарном форуме скинуть фотку пельменей, которые может сделать любой человек.

iprs
27.03.2026 04:12Так ведь многие еще и наивно верят, что их поделку купят за 100500 денег. То, что ее точно так же может сгенерировать обладатель этих денег - во внимание не принимается.

DGN
27.03.2026 04:12Это так себе аргумент. Идея ничего не стоит, а поделка это концепт. Его можно продать, Марк не даст соврать.

iprs
27.03.2026 04:12Если бы идеи ничего не стоили, не существовало бы авторского права и прочих патентов. Однако - существуют

iprs
27.03.2026 04:12И кстати - идея то стоящая. Не удивлюсь, если ее уже рассматривают на каком нибудь совещании в условном Кинопоиске

DGN
27.03.2026 04:12Внимание, вопрос. А как происходит первичный подбор? Imdb это порядка 5млн фильмов. Если гнать рандом, вы за вечер даже не увидите общее предложение.
По идее, должно быть не просто да или нет, а кнопка "отстой не смотрел и не буду", "отстой, смотрел", "смотрел нравится", "просто смотрел", "прикольно, но не сейчас" и "да, смотреть".
Весь этот выбор должен составлять реальную базу юзера, которая должна копиться. И надо понять, будет ли юзер в принципе смотреть второй раз, я например не могу смотреть два раза, а жена обожает.

gravitytimewheel
27.03.2026 04:12Кажется это надо довести до логического «свидания в кинотеатре», однако сейчас в кинотеатрах идет чешуя всякая, кто туда ходит не понятно, можно тогда запилить пиратский сервис с виртуальным совместным просмотром и обсуждением, может в чате или как то, а так в нормальных условиях киносети ваш клиент, место определили, компанию нашли, отправились смотреть, скидку на билеты получили, кто платит за попкорн опеределяет случайный генератор, так веселее и не будет нормисных терок, о том кто платит за еду

opusmode
27.03.2026 04:12За старание плюс, а вот идейно не понятно - а зачем? Сложно, маршрут не понятен, много странных телодвижений
house2008
Есть же к_и-н-0_pu_б, открыли на любой платформе (я на Apple TV), выбираете нужный фильм/сериал (из последнего/горячего/популярного/нового) и там всегда есть трейлеры/оценки/описания/режиссер/актеры/куча озвучек без впн вроде,
одной рукой ковыряетесь в носу, второйпросто листаете фильмы, если понравился - сразу включаете просмотр, зачем эти усложнения со свайпами и отдельным сервисом.Вам статью нужно еще опубликовать в Иране и Сев Корее, как раз основная ца. Вы же понимаете, что зарубежная аудитория уже сидит в Nextflix/Amazon/Apple где скорее всего автоподборка встроена прямо в их приложения, если нет всегда можно сходить в imtb. Как раз если бы это работало в рф без впн возможно это как раз была бы фишка из-за чего многим было бы интересно без впн смотреть трейдеры с ютуб.
Выглядит красиво.
DGN
Групповая автоподборка встроена?
Задача ведь не только себе найти фильм, а фильм интересный группе лиц.