Отчёт о прогрессе · TechCon ML · 01.02.2026 — 08.09.2026

Поиск по техпланам

Внутренний сервис отбора технических планов домов по каскадным критериям и нечёткому поиску — вместо ручной работы по бумажным архивам и восьми регулярно подвисающих Google-таблиц.

204
коммита
за 219 дней истории
6231
запись в базе
доступна к отбору за секунды
580 мс
ответ на поиск (p95)
0% ошибок на нагрузочном тесте
0
открытых задач на слияние
живой замер
Что это

От восьми подвисающих таблиц — к одному быстрому поиску

До сервиса отбор технического плана шёл либо вручную по бумажным архивам, либо через восемь неудобных Google-таблиц: они регулярно подвисали, изменения подгружались не у всех одновременно, а фотографии в них терялись или сжимались до нечитаемого состояния. Сейчас — каскадные фильтры от региона до населённого пункта, отбор по этажности, площади, материалу стен и типу кровли, нечёткий поиск по адресу и серии дома даже при неточном вводе, выгрузка результата в Excel.

Сервисом уже активно пользуются реальные сотрудники — не пилот и не демонстрация. Отдельно — форма «Сообщить об ошибке» с ограничением частоты отправки и закрытая административная панель для разбора этих заявок и метрик работы сервиса.

Хронология вех

От первого прототипа до раздельных прод/dev-контуров

01 — 20.02.2026

Основной каркас за три недели

Загрузка данных, движок отбора, сессии, интерфейс на HTMX, таблица результатов с выгрузкой в Excel, карточка объекта с фотографиями.

24 — 25.03.2026

Усиление безопасности и стабильности

Закрыты найденные уязвимости в зависимостях, добавлена защита администраторского контура.

08.04.2026

Форма обратной связи за один день

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

13.04.2026

Публичный контракт API приведён к стандарту

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

15 — 17.04.2026

Нагрузка проверена измерением

Автоматизированный тест подтвердил: сервис держит целевую нагрузку без единой ошибки.

12 — 14.06.2026

Прод и разработка разведены на разные контуры

Свой хост, свой файл окружения и свой путь отката на каждой стороне — изменения проверяются до боевого адреса, не после.

Проверенная нагрузка

50 одновременных пользователей — без единой ошибки

Поиск · медиана (p50)420 мс
Поиск · 95-й процентиль580 мс
Проверка готовности · p95220 мс

5218 запросов за 5 минут теста, 50 одновременных пользователей — 0% ошибок.

Продуктовая дисциплина

Открытый поиск — осознанное решение, не пробел

Публичный поиск — без обязательной авторизации
осознанное решение для этой части сервиса
единый сервис авторизации для всей организации — отдельная будущая волна
Административная панель — под токеном
заявки об ошибках и метрики закрыты отдельным доступом
появилась метрика, показывающая состояние защиты
Документация растёт в темпе кода
на каждый файл кода — примерно файл документации
101 отслеживаемый файл, документация и код почти поровну
Открытый вопрос. Ранее состояние защиты административной панели было видно только в текстовых логах при старте сервиса и легко терялось. Теперь добавлена отдельная операционная метрика — состояние защиты видно сразу, не нужно вспоминать проверить лог. Актуальное состояние переменной токена на боевом сервере прямо сейчас требует отдельной живой проверки.
Качество и расширяемость

Каждая крупная фича — с автоматическими тестами

Тесты сопровождают каждую крупную фичу
от асинхронных сценариев поиска до нагрузочных базовых линий
изменение проверяется до того, как попадёт в прод
База обновляется без миграций
данные — простой файл, загружаемый в память при старте
новую выгрузку можно подключить без сложного процесса развёртывания
Публичный контракт API задокументирован
описание интерфейса, приведённое к единому стандарту организации
готово к внешнему использованию
Куда движемся дальше

Возможные направления — пока не подтверждены

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