Идеальный мессенджер с ИИ: история разработки и дилеммы автора

Автор рассказал, как создал мессенджер с ИИ, который считает идеальным по UI/UX, но столкнулся с проблемами бэкенда и неопределённостью. История о том, как личные хотелки превратились в полноценный проект.

Идеальный мессенджер с ИИ: история разработки и дилеммы автора

В январе 2025 года, после серии экспериментов с кодом для чатов, я решил создать собственный «идеальный» мессенджер. Мне хотелось, чтобы кнопки выглядели именно так, как я задумал, чтобы при тапе на кнопку был приятный импакт, чтобы форма бабблов сообщений была идеальной, а анимации открытия экрана радовали глаз. Всё это я хотел реализовать в мессенджере для общения с людьми, а не с ИИ-персонажами, как в сотнях других приложений. Но в каждом существующем приложении я находил изъян, которого не должно было быть в моём творении. Так началась история, которая привела к созданию приложения, о котором я теперь не знаю, что делать.

Первые версии приложения не требовали бэкенда. Всё работало локально, а для общения с ИИ использовался личный API-ключ Gemini. Однако, когда я дал приложение друзьям, стало ясно: никто не будет возиться с настройкой ключей. Тогда возникла первая серьёзная проблема — необходимость бэкенда. Это изменило всю архитектуру проекта и поставило передо мной вопросы, которые я не ожидал решать.

Как создавался «идеальный» мессенджер

Проект начался с простого желания — сделать чат, который будет выглядеть и ощущаться именно так, как я себе представляю. Я уделял внимание каждой детали: форме сообщений, анимациям, тактильному отклику кнопок. В итоге получился мессенджер, который я гордо назвал «идеальным» с точки зрения UI/UX. Но идеальный интерфейс — это лишь половина дела. Когда приложение вышло за пределы моего компьютера, возникла необходимость в серверной части.

Бэкенд — это то, что отличает локальную игрушку от полноценного продукта. Мне пришлось решать вопросы аутентификации, хранения сообщений, синхронизации между устройствами. И тут я столкнулся с дилеммой: как сделать бэкенд, который будет соответствовать моим высоким стандартам качества? Я перепробовал несколько подходов, но каждый раз что-то шло не так. В итоге я пришёл к выводу, что идеальный бэкенд — это миф, и нужно искать компромиссы.

Предыстория и контекст

Идея создания собственного мессенджера не нова. Многие разработчики пытались сделать «лучший» чат, но почти все потерпели неудачу. Рынок перенасыщен приложениями для общения, и выделиться среди них крайне сложно. Однако мой проект выделялся тем, что был ориентирован на общение с людьми, а не с ИИ, хотя и включал интеграцию с LLM. Это была попытка объединить лучшее из двух миров: привычный интерфейс мессенджера и возможности искусственного интеллекта.

В январе 2025 года, когда я начал проект, технология LLM была уже достаточно развита, чтобы использовать её в реальных приложениях. Gemini от Google был одним из самых доступных и мощных API, что и определило мой выбор. Но интеграция ИИ в мессенджер — это не просто добавление кнопки «спросить у ИИ». Это переосмысление всего пользовательского опыта. Я хотел, чтобы ИИ был не просто ботом, а полноценным участником диалога, который может помочь, подсказать или просто поддержать беседу.

Чем мой мессенджер отличается от других?

Главное отличие — это внимание к деталям. Я потратил месяцы на то, чтобы каждая анимация, каждый переход между экранами был плавным и естественным. Я использовал современные фреймворки и библиотеки, чтобы добиться идеальной производительности. Но самое важное — это то, что я проектировал интерфейс, исходя из собственных представлений о том, каким должен быть идеальный чат. Это субъективно, но именно эта субъективность позволила создать уникальный продукт.

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

Технические подробности и архитектура

Когда я осознал необходимость бэкенда, я начал искать решение, которое не потребует огромных затрат и будет масштабируемым. Я остановился на Node.js и WebSocket для реального времени. Для хранения данных выбрал PostgreSQL, так как он надёжен и поддерживает сложные запросы. Аутентификацию решил делать через JWT-токены, чтобы упростить взаимодействие между клиентом и сервером.

Интеграция с Gemini происходила через REST API. Я создал прокси-сервер, который принимал запросы от клиента, отправлял их в Gemini и возвращал ответы. Это позволило скрыть API-ключ от клиентской стороны и добавить дополнительный уровень безопасности. Но возникла проблема задержек: ответы от Gemini иногда приходили с задержкой в несколько секунд, что портило впечатление от общения. Я решил эту проблему, добавив индикатор «печатает» и оптимизировав запросы.

Кого затронет этот проект и как

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

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

Что будет дальше

Сейчас я нахожусь на распутье. С одной стороны, я вижу потенциал проекта, с другой — понимаю, что для его развития потребуется много времени и ресурсов. Я рассматриваю вариант открыть исходный код, чтобы сообщество могло помочь с развитием. Также я думаю о выпуске приложения в App Store и Google Play, но для этого нужно решить вопросы с модерацией и политикой конфиденциальности.

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

Итог

История моего «идеального» мессенджера — это история о том, как личное видение может превратиться в полноценный проект, но при этом поставить перед автором непростые вопросы. Я создал приложение, которое выглядит и работает так, как я мечтал, но теперь я не знаю, что с ним делать. Это нормально для инди-разработчиков: сначала ты делаешь продукт для себя, а потом решаешь, нужен ли он другим. Я надеюсь, что мой опыт будет полезен тем, кто тоже мечтает создать что-то своё, и напомнит, что идеальный продукт — это не только код и дизайн, но и ответы на вопросы, которые возникают после его создания.