Приветствую аудиторию! Вчера я опубликовал первую статью, которая вызвала живой отклик.
В целом мне показалось что аудитория восприняла статью достаточно положительно, за исключением двух моментов. Первый был ожидаем - пара пользователей посчитала, что раз я критикую их любимый мессенджер (что не соответствует действительности) и белые списки - значит я хохол. Ну ок, живём. Второй момент - мне вполне справедливо напихали за шиворот за гиперболу:
Кроме того, реальная ценность продукта не велика. Мессенджер такого уровня пишется пьяной макакой уровня джуна за неделю, сеньор с claude - за день напишет более качественный продукт.
Задача поставлена амбициозная - собрать PoC (proof-of-concept) мессенджера. Инструмент - WebStorm, Claude Code с Opus 4.6 (1м контекста), Node.js, React. Минимум зависимостей. Я не сторонник vibe-coding, однако использование ИИ в разработке даёт значительное ускорение. Нельзя просто сказать "напиши мне мессенджер" и получить результат - задачу решаем итеративно, проверяя по шагам. На автоматические тесты особенно не надеемся: LLM пишет тесты, которые проверяют ровно то, что он и так знает. Реальные баги - в другом месте.
Дисклеймер: данный забег показывает возможность сделать что-то быстро, с нуля, но никак не претендует быть продуктом, который я рекламирую. Исходный код возможно будет открыт. Каждый коммит с таймстампом, если кому-то потребуется (да, понимаю, не верифицируемо, но каждый может проверить скорость хотя бы первых шагов, ключевые промпты могу дать).
Постановка задачи:
- Мессенджер с несколькими вариантами входа: логин+пароль, телефон, электронная почта, ГосУслуги, ЭЦП. Из них реально быстро без настройки инфраструктуры - первый и последний. ГосУслуги - практически невозможно, так что это скорее шутка. Реально это заняло бы не так много времени, а вот согласование - от 4 месяцев, в лучшем случае. Да и не думаю что это вообще возможно в текущей ситуации. Почта - имеет свои нюансы. Телефон - нужен подключать сервис доставки СМС.
- Отправка сообщений, файлов, стикеры, голосовые сообщения, видео-кружочки
- Каналы, группы, комментарии к постам. Ботов можно было бы успеть сделать, но "можно - а зачем". Прикрутим, если оно когда-то будет смысл.
- Шифрование E2E сразу, из коробки. Не декоративное - сервер видит только зашифрованные blob-ы
- Вход с нескольких устройств, перенос ключей между устройствами
- Звонки, видео звонки (вот тут пока без E2E)
Из того что удалось сделать "необычного"/"продвинутого":
- распознование речи и перевод на клиенте, то есть безопасно. Не на сервере. Whisper tiny (распознавание речи) и OPUS-MT (перевод RU↔EN) загружаются как WASM-модули и крутятся в Web Worker. Сервер не видит ни аудио, ни текст, ни перевод. Это принципиально: если у тебя E2E шифрование, а потом ты отправляешь голосовое на сервер "для расшифровки в текст" - у тебя нет E2E шифрования. У тебя есть маркетинг. Для сравнения: GigaChat в MAX - облачный. Ваши запросы уходят на серверы Сбера.
- опросы. они съели как ни странно достаточно много времени разработки, так как claude упорно тупил с UX и пошел не по промпту в части архитектуры
- поделиться геолокацией, транслировать геолокацию (OSM, можно развернуть вместе с приложением), но так - потенциальная дырка.
- админка (скорее для отладки)
- темы оформления (доделал в последний час)
Веб-клиент естественно - PWA. Ставится на рабочий стол мобилки как приложение, работает оффлайн (IndexedDB кэш), получает уведомления. Для 80% пользователей этого достаточно. Для мобильных - Capacitor. Это обёртка вокруг того же React-приложения в нативном WebView. Один код и тот же код работает и под Android + iOS. Push-уведомления через FCM/APNs, плюс на Android - foreground service с постоянным WebSocket-соединением (работает без Google). Архитектура push-диспетчера поддерживает FCM, APNs, HMS (Huawei), RuStore - последние два в виде заглушек, добавляются за пару часов. Десктоп - пока не собирал, но Tauri (Rust-обёртка, ~3MB вместо 150MB Electron) собирается из того же кода за вечер. Общий принцип: клиент один. Платформо-специфичный код - только для push и фоновой работы.
Запустил стресс-тесты на одном сервере, localhost, MongoDB локальная. Результаты:
- 100 пользователей одновременно, личные чаты: P50 = 63ms, 100% доставка
- Burst режим (все пишут одновременно, 1000 пользователей): P50 = 573ms, 100% доставка
- Канал на 1000 подписчиков: 3 305 доставок/сек, P50 = 24ms
- Группа на 1000 человек, 10 активных: 6 662 доставки/сек, 100% доставка
- Потолок одного сервера - 1000 человек в группе при 100 одновременно пишущих (за 1 секунду - вырожденная задача!). Дальше нужен Redis pub/sub для горизонтального масштабирования. Это стандартная архитектура, не rocket science. Для PoC за один день - считаю результат адекватным. Обращаю внимание - вообще без оптимизации. Сервер на Node.js, однопоточный, без кластеризации. Простой pm2 cluster или вынос горячих путей в worker threads даст x4-x8 сразу. Для понимания масштаба: один поток Node.js без оптимизации выдаёт 16 миллионов сообщений в сутки при производительности до 1000 сообщений/секунду (при средней загрузке 185 сообщений/секунда). Формально это несколько миллионов активных пользователей на одном ядре. Реальность будет где-то от 30к до 300к на ядро. На дешевом VPS. Да, есть ещё вопросы множества одновременных подключений, хранения медиа, и много чего ещё. Но это тоже решаемо. Ещё раз - high load не было целью данного спринта.
Я не буду писать табличку сравнения с другими решениями. Это не имеет смысла. И сейчас другая реальность. Многое доступно open source. ИИ ускоряет разработку. Мы на пределе того что ИИ может вести очень быстро и очень эффективно - 10к строк кода, по моей личной метрики. Модель теряет контекст и понимание того что мы делаем. 15к строк кода занимает продукт сейчас.
Про неудачи.
Честно: я немного погорячился. "За день" - это маркетинговая формулировка. Реально чистого времени на код - около 7 часов. Плюс пара часов на полировку, фиксы, статью. Это не день - это полтора. И это не продакшен-система. Нет нормальных тестов (о причинах писал выше). Голосовые сообщения три часа не хотели работать в Safari. Опросы Claude переписывал четыре раза, пока я не ткнул носом в правильную архитектуру. Видео-кружки потребовали отдельного танца с бубном вокруг E2E-расшифровки в blob URL.
Мессенджер "такого уровня" за день - гипербола. Хотя он умеет больше чем один известный продукт на старте. Мессенджер уровня PoC - реальность. Добавить горизонтальную и протестировать горизонтальную масштабируемость - ещё день.
Куда дальше?
А вот тут интересно. За неделю без вызовов можно допилить федерацию (то есть независимые связанные сервера), есть идея что можно добавить персональные мосты с другими месенджерами playwright + web client для WA/Telegram/MAX. Когда я начинал я не думал, что результат может представлять ценность. Можно легко добавить средства преодоления блокировок: федеративной структурой отследить будет тяжело. Можно зарегистрировать в РПО (уйдет пару месяцев если там нет команды - не принимать мессенджеры, зависимостей от закрытого иностранного кода в ядре нет вообще). Если кому-то интересно - могу развернуть сервер (например в М9). Ни в коем случае не смогу рекомендовать использовать, так как в формализм с защитой перс данных (которых тут кстати практически нет) не хочу. Если кому-то очень интересно - могу раскрыть исходники. Это стоило одного дня моей работы, лимиты claude не были выбраны.Здесь должен быть тизер - 10 человек и сервер, 100 и исходники, но я не сторонник такого. Может ли это когда-то стать хотя бы нишевым продуктом? Не знаю. Ценность мессендежра не в коде, а в популярности и доверии. Проблемы одного известного продукта - не в коде, фичах, и прочем - а в агрессивных методах продвижения. Повторюсь - я не против продукта, и считаю затею правильной.
Я не описал наверное половину реализованного, для этого надо было бы привлекать LLM, а я не хочу генерировать нейрослоп. Да и не 100% функционала должным образом протестировано.
И да, я считаю что цифровой суверенитет - это не когда тебе навязали сервер. Это когда сервер стоит у тебя.

Комментарии
Для подавляющего большинства местных бумеров-дедов, по странному совпадению одобряторов всего и вся, включая меры по созданию ковидного концлагеря, процентов 90 статьи выглядит как непонятные ругательства и вообще можно описать одним известным мемом про "не нужОн нам ваш Интернет". Понятно, что за вайбкодить приложение типа Маха надо неделю с нейронками. Плюс-минус. Вы же замахнулисяэь на серьезный проект. Не поймут.
А вдруг если эти деды понимаю на 95% что там написано? Что делать то теперь....
P.S. Все эту выросло из дельфи и турбопаскалей :-) Логика никуда не делась, собственно. Ну разве что стало сильно проще, потому что руками писать теперь почти ничего не надо.
Есть айтишники старой школы, так сказать, отцы-основатели, Вы, видимо, к ним и относитесь. И таких бумеров в теме совсем мало здесь на АШ. И эти олдскульные бородатые деды ещё помнят как лет 25-30 назад к ИТ относились как какой-то непонятной активности и игрушке. Большинство одобряторов же здесь вообще не понимает, что такое современное IT, что мир изменился, а молодежь уже живёт в сети. И поделку уровня лабораторной работы студентов 2 курса факультета кибернетики насильно не впихнуть под видом нацмессенджера
А вы, видимо, и являетесь этим "живущим в сети", если даже поделку с подделкой путаете?
Пишу с телефона, ошибся в одной букве
Ну да, еще в 90-х я сидел за учебником Турбо Паскаля версии 6.0.
AS/400 и вот эта вот OS/2 3.0...
Но это ж тогда REXX а не турбопаскаль )
Зная как тесен мир, думаю что мне не надо писать, что я знаю первое сочетание букв и цифр). Второе тоже знаю, но вот вживую никогда не видел, к своему стыду.
Почти тоже самое что и Windows 3.0, но от IBM с чуть другим интерфейсом. Если проводить параллели, OS/2 в развитии остановилась на уровне Windows NT 3.51. Они обе две начинали разрабатываться одной командой, но в начале 90-х пути Микрософт и ИБМ разошлись. Ось была менее требовательна, параллельность получше, но скорее клиент-серверная чем пользовательская,
Впечатляет.
Нужно еще больше мудреных слов - еще вероятнее за умного сойти.
Спасибо!
Итого, если допиливать все фичи авторизации, плюс разные свистоперделки, то неделя на разработку. Еще (с запасом) неделя на тестирование.
Месяц - готовый продукт, причём, насколько я своими скудными познаниями в ойти, догоняю, с нехилой приватностью.
Если сервер разместить на "своей" стойке в гараже - считай готовая корпоративная связь для крупной фирмы. Или (чем чёрт не шутит) какого-нибудь подразделения.
P.S. Спринт - моё увожение!
Да, с приватностью я здорово поработал, но есть куда стермиться. Если дойдут руки и сделаю федерацию, то можно даже обеспечить скорытие части метаданных. Спасибо!
ой таки вэй, кагбэ к тебе не пришли как к злостному экстремисту.
Ну... ВНЕЗАПНО! После становления и утверждения целой антикоррупционной системы (через систему ЗАКУПОК!!!), оказалось, что проекты
космическогогосударственного значения икосмической глупостигосударственной глубины, легко подхватывают и, вывозят!!! "Шариковы" нужных пород. Ничто не ново под луной. Классика.ГЧП (государственно-частное партнерство) сейчас прибывает с точки зрения регулирования, по моим ощущениям в состоянии каменного века. Оно не подконтрольно 44-ФЗ/223-ФЗ. 44/223 + реальная практика ФАС - не идеальны, но там всё гораздо лучше. А конструкция ГЧП в упрощенным виде позволяет реализовать старую добрую схема: Компания дарит лабораторный анализатор, но вот расходку к нему продает эксклюзивно и втридорога. В целом обзор на ГЧП заслуживает отдельной статьи, но не уверен что хочу её писать
ГЧП - это немного про другое. Это когда частный бизнес под гарантии государства создаёт некоторую систему под государственную задачу, при этом принимая все риски, связанные с проектированием и реализацией на себя. Результатами работы системы, если оно работает именно так как оговаривалось, пользуется государство. Частный бизнес получает от государства отсроченную компенсацию за свои вложения, плюс продолжает зарабатывать получая деньги от государства на обслуживание существующей системы и её дальнейшее развитие.
Плюсы для бизнеса: он заинтересован зарабатывать в этой схеме, поэтому будет прикладывать все усилия, чтобы отбить свои вложения.
Плюсы для государства: ему не надо тратить массу времени и денег на разработку и реализацию проекта, систему ему приносят на блюдечке уже работающую.
Так сделан "Платон", который опять же скопирован с европейских практик.
это вот про ЧЗ - в масть. всё куда не сунься хер пойми как работает, никто ни за что не отвечает, но реальных денег жрёт все больше и больше. и проблем создаёт лавинообразно.
А какой конкретно тезис вы данной статьей доказываете?
Полагаю если в данном случае надо что-то объяснять, то не надо объяснять.
Сапиенти сат, как говорится.
Так мне не нужно ваше мнение про меня лично. Я могу быть на самом деле гораздо хуже того, что вы обо мне придумали.
Мне интересно, как там у автора статьи в голове все устроено, он статью написал, что-то ей хотел доказать, интересно, конкретно что.
А вы мне не очень интересны.
Вы точно психолог? А конкретно по вашему вопросу, автор в хорошем смысле ответил за свои слова. В комментариях к предыдущей статье оппоненты бросили ему вызов, автор его принял и доказал, что был прав. А вот в чём заключаются ваши претензии к автору, не совсем понятно. Ваш вопрос можно адресовать и вам, как у вас в голове устроено, что вы решили докопаться до автора с подобным вопросом.
А в чем конкретно автор прав?
У автора свой бизнес в сфере айти. У автора свой мессенджер? Если нет, то почему?
Автор поста просто не хочет стать миллиардером? Он же не за деньги работает, наверное.
Видимо вы из тех, кто умеет читать, но не умеет понять прочитанное. Ну так бывает, здесь у вас большая компания.
Третий человек на вопрос автору статьи мне вываливает непрошенную оценку меня.
То есть в принципе аргументов нету, одни эмоции. Но эмоции без конструктива - это женская прерогатива.
Тут если что, единственное доказательство в статье, это картинка интерфейса. 7 часов картинку интерфейса в ИИ рисовать не нужно, ее можно нарисовать за 5 минут.
Это как "я могу получить Нобелевскую премию, я просто не хочу" или как у автора статьи "я мог уже два раза защитить диссертацию, просто не хочу, я в бизнес пошел". Стесняюсь спросить, как там с бизнесом, судя по отсутствии представлении автора о модели монетизации его поделия.
Вы все упростили.
Для того чтобы стать миллиардером, как вы написали выше, надо не просто написать мессенджер, надо много еще чего.
Толковых программистов хватает и не все они миллиардеры.
Деточка, ты реально тупишь и не понимаешь контекст. Воинственно.
Вас таких единственный способ отрабатывать - это как раз тыкать в личность, иначе заспамите весь эфир идиотскими вопросами и озабоченностями похлеще любого нейросетевого бота.
Собственно, о чем и заявляю - ты мясная нейросеть. Попробуй это оспорить.
Так вы этим комментарием показали именно это
Чет меня терзают смутные сомнения.... В прошлой статье в коментах мне такую же предъяву кидали....
Антоша?
То, что люди с противоположной вам позицией умеют в логику, не означает, что существует только один единственный человек, который может задавать вопросы.
Вы четвертый человек в этой ветке, который вместо обсуждения сути вопроса, придирается к комментатору.
И в чем же ваша логика, девушка??
Касательно какого вопроса?
Считала, считаю и буду считать - среди вступительных на психолога ставить на первое место экзамен по биологии вместо русского языка просто абсурд. Отличие митоза от мейоза или изменение величины ушей в зависимости от широты малополезная для психолога вещь. А вот герменевтика рулит. Её бы вообще внести в список экзаменов. Вы, похоже. действительно не понимаете, о чём идет речь, да ещё успели проехаться по личностям двух человек, обидевшись, что посмели применить ваш же вопрос к вам лично. А по факту, что можно обсуждать с человеком, если он искренне не понимает прочитанного. Я повторяю вопрос - вы действительно психолог? А то знавала я во времена оны кинолога с шикарным званием инструктор-теоретик. Ну а на ваши вопросы просто ответить нечего, потому что они ровным счётом не имеют никакого отношения к самой статье, они ей как бы параллельны, не соприкасаются, то есть.
Да.
Так вы и не сможете на эти вопросы ответить, они не совсем вам адресованы. Мне не очень интересно обсуждать ваше мнение касательно того, имею ли я право в комментариях задавать вопросы автору статьи. Если у вас больше ничего конструктивного нет, давайте закончим на этом.
Да просто непонятно, какого чёрта вы докопались до автора с вопросами, вообще не относящимися к теме статьи. Если он вас так заинтересовал, то есть личка. Это очень конструктивно, потому что мы и так прилично зафлудили тему, поразившись вашему флудерскому вопросу. А флуд - это плохо. Конструктив - флуду бой.
А почему вы и еще 3 человека пристаете ко мне с вопросами, не касающимися темы статьи и моего вопроса? Если вы хотите конструктивно, для этого есть личка.
Мой вопрос никому из этих четырех человек не был адресован. Я дождалась бы ответа автора статьи и без ваших непрошенных оценок.
Она нейросеть.
Да вроде должен быть живой человек, хотя впечатление от вопросов в контексте статьи очень странное.
Кто мешает нейросети быть сделанной из мяса?
Такие раньше изобрели)
Вы правда считаете, что имеет смысл завтра с утра развернуть сервер, и начать агрессивный маркетинг? И получить блокировку после первых 100к пользователей, а заодно и кучу приключений с законом? Но если готовы взяться за продвижение, можем обсудить распределение прибыли!
Да, теперь у меня свой мессенджер. Что с этим делать? Не знаю)) Наверное подумать денек, и попробовать потестировать среди знакомых, а потом подумать, стоит ли игра свечей.
Вариант разворачивания такого мессенджера по типу торрент-сети невозможен? А то было бы очень даже кстати - распределенная сеть пользователей мессенджера, которая сама поддерживает мессенджер. Поди такую заблокируй, если централизованных серверов нет, а трафик блобами летает. И пусть бы даже приложение требовало отдельной установки, а не чисто вебморда или апп для смарта (как ТГ), думаю, нашлись бы люди, которым такое было бы очень даже. Если каждый пользователь будет по сути "поднимать микро-сервер", то после десятка тысяч установок такую сеть уже хрена лысого залочишь.
С точки зрения же продвижения - раз проект с открытым кодом, то, может, на Гитхаб его? В нескольких местах - да хотя бы вон на Хабре, к примеру, плюс каких-нибудь подобных - копипастнуть вот эту Вашу статью, а там глядишь, и энтузиасты подтянутся, и пользователи начнут приглядываться. И к Вам никаких претензий не прицепить будет.
Надо писать статью на афтершок)))
Вот перепись альтернативно одаренных выше вызверились на мой вопрос.
Но деле вопрос-то логичный. Зачем отбирать время у аудитории на такой контент, если вы не знаете, что с вашим месенджером делать.
И тут главный вопрос не в том, как потратить деньги на продвижение. Главные вопрос - как вы его монетизировать планируете. Кому данные пользователей вашего месенджера вы будете продавать?
Можно самим пользователям, по подписке, но не взлетит, потому что еще есть бесплатный телеграм.
Можно государству, но тут сложно, уже есть национальный мессенджер.
Можно спецслужбам стран НАТО.
На какой стул будете садиться?
Ну смотрите, статья вошла в топ обсуждения (не без Вашей помощи, спасибо!). Значит контент интересен пользователям. Контент не в рекламе продукта которого пока нет. Контент в том что "можно написать за день".
Федерации (множественные сервера), я доделал. Но надо тестировать конечно.
По вашим стульям: зачем мне брать за это деньги с пользователей? Денег у меня достаточно, а вот доброе дело сделать можно. Решу, что продукт достоин - напишу лицензию, близкую к GPL или MIT, подниму базовые узлы. Это всё не так дорого для меня.
Государству - может быть после выборов государство посмотрит что сотворило, и задаст вопросы авторам "национального" хотя бы за "дискредетацию власти"? Но продукт с Е2Е пока не в тренде для государств (любых). До этого ещё надо сильно дорасти.
НАТО - подколка не засчитана. Я за Россию.
Может быть я идеалист, но мой стул "Счастья для всех, даром, и пусть никто не уйдет обиженный!".
Ну, хорошо. Статья о том, что вы такой красавчик, добрый, богатый и имеете возможность заниматься своим хобби.
Телеграм и макс тут причем?
Тезис - в мессенджере ценен не софт. Статья об этом. Ценность макса - мелкой, частной компании дали карт бланш административного ресурса и позволили творить что вздумается для выполнения КПИ. Не согласны?
Слушайте, я максом пользуюсь, вот недавно разговор по нему закончила. А результат вашей работы я вижу только в виде картинки, которую можно сделать за две минуты и статьи. Пока по качеству макс выигрывает ваше творение.
Для меня ценность макса в том, что там нет анонимных блогеров, что наша полиция сможет там легко блокировать каналы и пользователей, что моя переписка не уходит натовским системам профайлинга и что с помощью макса можно оказывать давление на телеграм.
Если для этого нужен был только административный ресурс, то это хорошая сделка. Рекламой, уговорами, просьбами это сделать было бы сложнее и дороже. Плюс особенные айтишные снежинки как-то может резко проснулись и немного до них дошло, что страна войну ведет.
Ну про первый пункт я даже комментировать не буду.
Про второй:
1. Чем Вам мешают анонимные блогеры? Вас заставляют их читать? Вы за цензуру? Лодку Вы вместе с РКН раскачиваете лучше анонимных блоггеров. Хотя я сам не в восторге.
2. Вы безусловно доверяете полиции? Мой опыт общения с ЗАО ГИБДД, говорит о 12 попытках получить материальную поддержку или съездить к доктору (каждый раз они были удивлены отказом решать вопрос на месте, и желанием наконец познакомиться с доктором), из них два раза их алкотестер показывал плюс. Если что я вообще не пью, не употребляю. У меня нет желания чтобы моя переписка была доступа по щелчку пальцами.
3. Оказать давление - вот очень гладко. Если бы не ломали интернет ради частной конторы.
Поживем увидим. Может быть также как с ковидом одним днем закончится.
А айтишники в свободное от своей работы время не только статьи пишут но и фронту помогают. Не знаю может быть психологи тоже?
Но вы мастер уводить дискуссию.
Ключевое что я понял - тезис принят. Но пытаетесь оправдать средства великой целью надавить на телеграм. Ок.
Страницы