Разработчикам

Пять подсистем, пять языков, одна методология. Собираем компактную команду MVP — 5–6 человек с ростом до 10–11 к пиковым фазам.

Что тут строить

Это не очередной CRUD поверх базы данных. Платформа соединяет три мира: облако (портал, аналитика, ИИ-сервисы), физический объект (шлюз, который обязан пережить обрыв интернета на трое суток и не потерять ни одного события) и нормативную базу (сотни документов, которые надо превратить в проверяемый код со ссылками на источник).

Из этого вырастают задачи, которых нет в типичном SaaS: разбор BIM-моделей (IFC), драйверы полевых протоколов — от открытых ONVIF и BACnet до проприетарных панелей, событийное ядро на десятки тысяч датчиков, RAG, которому запрещено галлюцинировать, и криптография, которую можно заменить, не переписывая систему.

Продуктовые требования написаны и оценены заранее: у каждой фазы есть бэклог, у бэклога — приоритеты. Придумывать продукт на ходу не придётся; придётся хорошо строить.

Стек по подсистемам — и почему именно такой

portal/ · Ruby on Rails 8

работает

Портал, аутентификация, кабинеты, ядро бизнес-логики. Rails 8 без node: propshaft, importmap, SQLite, деплой Kamal. CRUD-ядро с авторизацией быстрее всего итерируется именно здесь — каркас уже в продакшне.

ai/ · Python (FastAPI)

фаза 1

Нормативный движок: правила как код со ссылками на пункты норм, RAG по нормативной базе, ассистент, каждый ответ которого проходит валидацию на цитирование. Гибрид: облачные LLM для генеративных задач, собственные модели для контуров, откуда данные не выходят.

edge/ · Rust + C

фаза 2

Объектовый шлюз обязан жить без облака 72 часа, буферизовать события и не течь по памяти месяцами. Rust — там, где «падать нельзя» проверяет компилятор; C — там, где драйверам полевых протоколов (ONVIF, Modbus, BACnet, OSDP) нужен низкий уровень.

events/ · Elixir (OTP/Phoenix)

фаза 2

Поток событий от тысяч датчиков — задача, будто придуманная для модели акторов: миллионы легковесных процессов, supervision trees, отказ одного обработчика не роняет ядро. Плюс Phoenix для live-дэшбордов.

integrations/ · Node.js (TypeScript)

фаза 2+

Коннекторы к внешним системам заказчиков, генерация PDF-отчётов, фронтенд-инфраструктура. Экосистема npm здесь работает на нас, а не против.

Инженерные принципы — с пояснениями

Человек в контуре

ИИ готовит черновики и находки; любое действие с последствиями — отчёт клиенту, изменение конфигурации, наряд на работы — подтверждает человек, и подтверждение фиксируется. Это не бюрократия, а условие продаваемости продукта в ответственной области.

Данные ≠ инструкции

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

Критичное живёт локально

72 часа автономии edge — архитектурный инвариант, а не пожелание. Облако агрегирует и анализирует, но его недоступность не ослепляет объект и не теряет события.

Zero Trust и крипто-гибкость

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

Секреты только в ENV

Никаких credentials-файлов и ключей в репозитории — только переменные окружения и masked/protected-переменные CI.

Как устроена работа

  1. Монорепозиторий: portal/, ai/, edge/, events/, integrations/. Ветка feature/* от develop, merge request с описанием «что / зачем / как проверено».
  2. CI на каждый MR: линтер, SAST, тесты — всё зелёное, иначе не едем. develop деплоится на staging автоматически, main — на продакшн вручную после ревью.
  3. Тесты обязательны для новых моделей и контроллеров; новые зависимости — только через обсуждение. Definition of Done зафиксирован в репозитории, а не в чьей-то голове.

Кого ищем по фазам

Rails-разработчик (ядро портала и API) Python ML-инженер (нормативный движок, RAG, предиктив) Rust/C embedded (edge-шлюз, драйверы протоколов) Elixir-разработчик (событийное ядро) Node/React-разработчик (фронтенд, интеграции, отчёты) QA-инженер (нормативные и ИИ-контуры) DevOps (IaC, стенды, on-prem сборки)

Как присоединиться

Напишите в чат пару слов о себе и о том, какая подсистема интересна → короткий созвон → доступ в репозиторий и кабинет разработки на этом портале → первая задача из бэклога MVP. Без многоэтапных собеседований и тестовых заданий в стол.

Написать в чат

Связаться

Новости проекта — в телеграм-канале, вопросы и обсуждение — в чате. Отвечаем лично: инвесторам, пилотным клиентам и кандидатам в команду.