Как я с нуля написал P2P-чат за неделю, вообще не зная WebRTC. Роль AI, краш-тест на Reddit и респект от конкурента
История пет-проекта AnTalk: как с помощью Cursor создать полноценный продукт с геймификацией и магазином, не будучи экспертом в сетевых протоколах.
Всем привет!
Принято считать, что для создания сложного приложения с видео/аудио связью нужно быть сеньором с глубоким пониманием сетевых протоколов, UDP, STUN/TURN серверов и прочей магии.
Я решил проверить, так ли это в 2026 году.
Моя цель была проста: создать анонимный чат (текст + голос), который работает прямо в браузере, без регистраций и скачивания приложений. Исходные данные:
- Желание сделать свой продукт.
- Полное отсутствие знаний о том, как работает WebRTC и P2P-связь.
- AI-редактор кода Cursor.
Спойлер: у меня получилось. Рассказываю, как прошел путь от "чистого листа" до готового продукта с магазином и геймификацией за одну неделю.
«Я не знаю, как это работает. Объясни мне»
Именно с этой фразы начался мой диалог с AI. Я не писал код с нуля. Я выступал в роли архитектора, который ставит задачу.
Я сказал: "Хочу соединить двух людей в браузере, чтобы они могли слышать друг друга. Пиши бэкенд на Node.js". Через минуту у меня был базовый код сигнального сервера. Еще через час - рабочий прототип на React.
Самым удивительным было то, что мне не пришлось годами учить теорию. AI объяснял мне логику Peer-to-Peer соединения по ходу дела. Ошибки фиксились мгновенно: копируешь лог ошибки -> получаешь исправленный код. Это невероятно ускоряет процесс разработки.
Визуал: Почему анонимность не должна быть серой
Отдельно скажу про дизайн. Обычно подобные сервисы выглядят либо как привет из 2005-го (унылые серые таблицы), либо как что-то мрачное и полулегальное.
Я пошел другим путем. Мне хотелось сделать интерфейс ярким, сочным и интуитивно понятным. Принцип простой: ничего лишнего.
Пользователь не должен думать, куда нажать. Он заходит и сразу видит две большие кнопки. Интерфейс не должен заставлять напрягаться или искать настройки в подвалах сайта. Он должен создавать позитивное настроение, а не ощущение, что ты сидишь в бункере.
Что в итоге получилось? (Функционал)
AnTalk - это не просто "еще одна чат-рулетка". Я старался сделать законченный продукт.
- Два равноправных режима: Текст и Голос. Выбирайте то, что комфортнее. Мэтчинг работает быстро и там, и там.
- Глобальность: В отличие от российских аналогов (вроде Nekto.me), я целюсь на международную аудиторию. Это возможность попрактиковать английский с реальными людьми, а не просто поболтать с соседом.
- Геймификация и Магазин: Чтобы проект не был убыточным (сервер всё-таки стоит денег), я сразу внедрил простую экономику. Внутри есть "магазинчик", где можно купить визуальные фишки. Это сделано, чтобы окупить затраты на хостинг, оставаясь при этом бесплатным сервисом без навязчивой рекламы.
Краш-тест на Reddit и внезапная встреча
Когда MVP был готов, я пошел туда, где обитают самые суровые пользователи - на Reddit. Я написал пост с призывом: "Ребят, я сделал сервер за 5 баксов, попробуйте его положить нагрузкой".
Результат:
- Положить сервер не удалось - трафика пришло чуть меньше, чем я ожидал (эффект "холодного старта").
- Но случилось кое-что поинтереснее.
В личку мне постучался основатель одного из западных конкурентов (похожий аудио-чат). Я ждал претензий или негатива, но мы... просто душевно поговорили. Он похвалил дизайн и оформление , сказал, что выглядит свежо. Это дало мощную мотивацию: если даже игроки рынка говорят, что получилось неплохо, значит, я иду в верном направлении.
Зачем я это пишу?
Сейчас проект работает в режиме открытой беты. Рекламу я пока не закупал, поэтому онлайн может быть плавающим - иногда вы сразу находите собеседника, иногда попадаете на таких же "тестировщиков", как вы.
Я хочу показать на своем примере: сегодня незнание технологии - не барьер. Если у вас есть идея продукта, вы можете собрать его в одиночку за неделю, используя современные инструменты.
Приглашаю потестить и попробовать сломать: 👉 Ссылка на сайт: antalk.space
Буду рад конструктивной критике. Если найдете баги (а они там точно есть) - пишите в комменты, буду чинить.