NEXORA — мессенджер, который я решил сделать самостоятельно

Как я начал с идеи простого анонимного чата, а в итоге пришёл к полноценному мессенджеру с профилями, группами, реакциями и realtime-общением.

Привет! Я FunDreamer, независимый разработчик. Помимо игр и небольших приложений, я периодически люблю делать проекты, которые изначально вообще не планировал превращать во что-то большое.

Так появился NEXORA.

Изначально идея была максимально простой: сделать небольшой веб-мессенджер, где можно было бы быстро написать другому человеку, не превращая интерфейс в огромную копию Telegram или Discord.

Но, как это обычно бывает, в какой-то момент проект начал разрастаться.

С чего всё началось

Первая версия NEXORA была практически экспериментом.

Никаких сложных серверов, огромной системы аккаунтов или десятков функций. Мне хотелось проверить саму идею: можно ли сделать минималистичный чат, который ощущается как отдельный продукт, а не просто очередной учебный проект.

На раннем этапе NEXORA вообще был гораздо ближе к анонимному чату.

Пользователь мог общаться, отправлять сообщения и ссылки, а интерфейс был максимально простым.

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

Так появилась регистрация, профили, собственный NEXORA ID, а затем и база данных.

Почему я вообще решил делать свой мессенджер

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

Мессенджер в этом плане — практически идеальный проект для экспериментов.

Здесь есть:

  • аккаунты;
  • авторизация;
  • профили;
  • realtime-сообщения;
  • поиск пользователей;
  • группы;
  • каналы;
  • реакции;
  • редактирование сообщений;
  • медиа;
  • уведомления;
  • безопасность;
  • синхронизация между устройствами.

Каждая новая функция автоматически тянет за собой несколько других.

И именно поэтому NEXORA постепенно превратился из небольшого эксперимента в полноценный проект.

Что умеет NEXORA сейчас

На данный момент в проекте уже есть основа полноценного мессенджера.

Пользователь может создать аккаунт, настроить профиль и найти другого человека по его NEXORA ID.

В чатах работают realtime-сообщения и реакции, а изменения появляются без необходимости постоянно обновлять страницу.

Есть личные профили, группы и каналы.

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

Отдельно я занимаюсь интерфейсом.

Мне хотелось, чтобы NEXORA не выглядел как стандартный сайт с несколькими полями и кнопками, поэтому большую часть времени я трачу именно на детали: анимации, состояния элементов, иконки, реакции, оформление профилей и поведение интерфейса.

От простого чата к собственной экосистеме

Самое интересное произошло тогда, когда я перестал воспринимать NEXORA просто как «мессенджер».

Я начал смотреть на него как на платформу.

Например, сейчас проект постепенно двигается в сторону Communities — пространств, где можно объединять пользователей, создавать текстовые каналы, настраивать роли и в дальнейшем добавлять голосовое общение.

То есть идея постепенно приближается к чему-то между классическим мессенджером и сообществами в стиле Discord.

При этом мне хотелось сохранить главное преимущество NEXORA — простоту.

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

Техническая сторона

NEXORA сейчас работает как веб-приложение и использует Supabase для серверной части и базы данных.

Изначально я вообще старался обойтись без полноценного backend'а.

Это было интересным ограничением для эксперимента, но когда появились аккаунты, синхронизация и realtime-функции, стало очевидно, что нормальная серверная инфраструктура необходима.

Поэтому проект пришлось постепенно перестраивать.

И, пожалуй, именно это стало одной из самых полезных частей разработки.

Иногда проще сначала сделать что-то неправильно, а потом понять, почему архитектура должна выглядеть иначе, чем пытаться заранее придумать идеальную систему.

Самая большая проблема — не написать функцию

Одна из вещей, которую я понял во время разработки NEXORA:

сделать отдельную функцию не так сложно. Сложно сделать так, чтобы она нормально работала вместе со всеми остальными.

Добавляешь реакции — появляются вопросы синхронизации.

Добавляешь группы — появляются роли и права доступа.

Добавляешь каналы — появляются комментарии и управление участниками.

Добавляешь голосовые функции — появляется совершенно другой уровень технических задач.

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

Что хочу добавить дальше

Планов у NEXORA довольно много.

В ближайших обновлениях я хочу продолжить работу над:

Communities — текстовыми каналами, ролями и настройками сообществ.

Голосовыми чатами — чтобы пользователи могли общаться не только текстом.

Профилями — более полноценными карточками пользователей, темами и кастомизацией.

Чатами — улучшенными реакциями, стикерами, голосовыми сообщениями и более удобным плеером.

Каналами — комментариями под публикациями и более удобным управлением.

И, конечно, продолжать улучшать сам интерфейс.

Зачем мне всё это?

Наверное, самый простой ответ — мне интересно.

NEXORA не создавался как попытка сразу конкурировать с Telegram или Discord.

Я просто хотел сделать свой мессенджер и посмотреть, насколько далеко смогу его довести.

А потом маленький эксперимент начал превращаться в настоящий продукт.

И теперь мне интересно довести его до состояния, когда человек сможет открыть NEXORA и действительно сказать:

«Да, я бы пользовался этим каждый день».

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

Сейчас NEXORA продолжает развиваться.

Проект доступен в веб-версии, а интерфейс адаптирован под мобильные устройства, поэтому его можно использовать и как приложение с телефона.

Я продолжаю постепенно добавлять функции, исправлять ошибки и перестраивать те части проекта, которые были сделаны на ранних этапах.

Для меня NEXORA — это одновременно мессенджер, эксперимент и большая учебная площадка.

И, скорее всего, он ещё не раз изменится.

Но именно это мне в нём и нравится.

NEXORA: Веб-версия — https://fundreamer365.github.io/NEXORA-WEB

Страница проекта — https://fundreamer.itch.io/nexora

11