Коммерческая система управления ремонтом — от бюджета и закупок до приёмки работ
Закрытая клиентская система объединяет бюджет, фактические расходы, закупки, платежи, этапы, замечания, документы и рабочие решения по ремонту. Я самостоятельно спроектировал и разработал продукт: преобразовал разрозненные Excel-ведомости и PDF-проект в связанную модель данных, настроил синхронизацию с Google Sheets и добавил AI-функции, работающие с контекстом проекта.
Закрытая клиентская система
Доступ предоставлен только заказчику; публичная демонстрация не предусмотрена.
Разработка началась в июне 2026 года; первая рабочая версия создана за 3 дня
Роль: продуктовая концепция, анализ процессов и исходных документов, UX Telegram-интерфейса, архитектура, самостоятельная разработка backend и базы данных, импорт данных, интеграция с Google Sheets, AI-функции, тестирование, production-развёртывание и поддержка
Стек
- Python 3.14
- aiogram 3.x
- SQLAlchemy 2.0
- SQLite
- OpenRouter
- APScheduler
- Google Sheets API
- gspread
- Google Auth
- openpyxl
- pandas
- Mac Mini
- до первой рабочей версии
- 3 днядо первой рабочей версии
- позиций в каталоге закупок
- 248позиций в каталоге закупок
- этапов ремонта в системе
- 7этапов ремонта в системе
- основных рабочих разделов
- 11основных рабочих разделов

Контекст и проблема
Управлять ремонтом — значит одновременно держать под контролем бюджет, закупки, платежи, сроки, документы и качество работ. Исходная информация при этом жила в разных форматах и источниках: Excel-ведомость дизайнера, смета подрядчика, PDF-дизайн-проект, данные о закупках, платежи, сроки, документы, замечания и отдельные рабочие решения.
Ведомости дизайнера и подрядчика были построены по разным структурам и обозначениям, а нумерация помещений различалась между документами. Часть решений была альтернативной: например, конкурирующие варианты электрики нельзя просто сложить между собой — иначе бюджет удваивается на том, что будет куплено один раз.
Чтобы понять состояние ремонта, приходилось вручную сверять файлы, сопоставлять таблицы и искать актуальные данные — отдельно по бюджету, отдельно по платежам, отдельно по закупкам и срокам.
Продукт создавался для одного человека, которому нужна была единая рабочая система под конкретный ремонт, а не корпоративная ERP с внедрением и обучением.
Для кого создан продукт
- частный заказчик, самостоятельно контролирующий сложный ремонт
- представитель владельца или руководитель ремонтного проекта
- человек, координирующий подрядчиков, закупки и платежи
- пользователь, которому нужна единая картина бюджета и выполнения работ
- заказчик, которому неудобно работать с несколькими несвязанными таблицами
- закрытый клиентский продукт, не предназначенный для публичной регистрации
Единая система управления ремонтом
Я разработал закрытую систему, которая превратила разрозненные документы и рабочие данные ремонта в связанную модель. Telegram используется для оперативного управления, SQLite хранит данные, а Google Sheets предоставляет заказчику понятную актуальную витрину.
Смысл в связях, а не в отдельных таблицах: закупка пересчитывает бюджет, платёж попадает в прогноз денежного потока, замечание блокирует приёмку этапа, документ привязан к сущности проекта, а альтернативные решения не смешиваются с дополняющими друг друга работами.
Бюджет и фактические расходы
План и факт по категориям, остаток бюджета, журнал затрат; суммы считаются только через точные денежные типы.
Платежи и денежный поток
План платежей, отметка оплаты, ближайшие обязательства и прогноз денежных расходов.
Закупки и каталог
Каталог на 248 позиций с фильтрами, количеством, ценой, поставщиком, ссылками, заметками и пересчётом бюджета.
Решения и альтернативы
Конкурирующие варианты не суммируются: система хранит выбранные решения отдельно от дополняющих друг друга материалов и работ.
Этапы, приёмка и замечания
Семь этапов со сроками, подрядчиком и стоимостью работ, приёмка, возврат и punch-list. Этап нельзя принять при открытых замечаниях.
Документы и рабочие материалы
Хранение исходных файлов, договоров, смет и других документов с привязкой к сущностям проекта.
Google Sheets и отчёты
SQLite остаётся источником истины, а Google Sheets работает как витрина. Для каталога и бюджета предусмотрена контролируемая синхронизация изменений.
AI-ассистент и заметки
Ассистент отвечает только по данным проекта. Свободные заметки сохраняются дословно и могут автоматически привязываться к помещению, этапу или категории; ошибка AI не приводит к потере заметки.
Моя роль
Я самостоятельно прошёл весь продуктовый цикл: разобрал исходные документы и рабочий процесс ремонта, сформировал модель продукта, спроектировал пользовательские сценарии и архитектуру данных, разработал Telegram-интерфейс, backend, базу данных, импорт, синхронизацию, отчёты и AI-функции, развернул рабочую систему и передал её заказчику. AI-assisted development использовался как инструмент ускорения проектирования, написания кода и проверки сценариев, но требования, архитектурные решения, тестирование и ответственность за итоговый продукт оставались за мной.
- исследовал процесс контроля частного ремонта
- разобрал Excel-ведомость дизайнера и смету подрядчика
- изучил PDF-дизайн-проект и рабочие решения по объекту
- определил продуктовую модель системы
- спроектировал структуру бюджета и фактических расходов
- создал канонический реестр помещений
- настроил сопоставление разных названий и нумерации помещений
- разработал модель каталога закупок
- реализовал правила альтернативных и дополняющих решений
- импортировал и нормализовал 248 позиций каталога
- спроектировал семь этапов ремонта
- реализовал приёмку и работу с замечаниями
- разработал журнал расходов
- разработал план платежей и прогноз денежного потока
- реализовал библиотеку документов
- настроил напоминания и отчёты
- разработал Telegram UX и FSM-сценарии
- спроектировал базу данных и backend
- настроил Google Sheets как клиентскую витрину
- реализовал контролируемую двустороннюю синхронизацию каталога и бюджета
- разработал AI-ассистента, работающего по данным проекта
- реализовал свободные заметки с fail-soft AI-классификацией
- подготовил тесты с изолированной тестовой базой
- развернул систему в production и передал рабочий продукт заказчику
- продолжаю поддерживать и развивать продукт
Я спроектировал систему не как набор отдельных таблиц и команд бота, а как единый контур управления ремонтом, где бюджет, закупки, платежи, этапы, документы, замечания и решения связаны между собой.
От разрозненных документов до работающей системы
- Июнь 2026
Исходные документы и рабочие процессы
Изучил структуру ремонта, ведомости дизайнера, сметы подрядчиков, дизайн-проект и задачи человека, контролирующего работы.
- Проектирование
Связанная модель ремонта
Спроектировал помещения, бюджет, каталог, этапы, расходы, платежи, документы, замечания и решения как связанные сущности.
- 3 дня
Первая рабочая версия
Самостоятельно реализовал основной рабочий контур и развернул систему для использования в реальном проекте.
- Сейчас
Использование и развитие
Продукт используется заказчиком. После первой версии были добавлены синхронизация с Google Sheets, отчёты, напоминания, AI-ассистент и заметки с автоматической классификацией.
Технологии и подход
Система должна была надёжно работать с реальными финансовыми и проектными данными, сохранять информацию при сбоях внешних сервисов и не смешивать альтернативные варианты сметы. Архитектура разделяет Telegram-интерфейс, бизнес-логику, базу данных, импорт, синхронизацию, планировщик и AI-функции.
Telegram-интерфейс и сценарии
Python и aiogram 3.x отвечают за рабочие разделы, асинхронные FSM-сценарии и закрытый доступ по whitelist.
Данные и бизнес-логика
SQLAlchemy 2.0 в асинхронном режиме и SQLite хранят связанные модели бюджета, каталога, этапов и документов; денежные значения — только Decimal и Numeric.
Импорт и Google Sheets
openpyxl, pandas, gspread и Google Auth переносят исходные ведомости в систему. SQLite остаётся источником истины, таблица — рабочей витриной с контролируемым применением изменений.
Автоматизация и AI
APScheduler ведёт напоминания и отчёты, OpenRouter обеспечивает AI-ассистента по данным проекта, обработку изображений и заметки с fail-soft классификацией.
Команда и распределение ролей
- Даниил Бердинских
- Продуктовая концепция, анализ процессов и документов, архитектура, UX, самостоятельная разработка системы, база данных, импорт, синхронизация, AI-функции, тестирование, production-развёртывание и поддержка.
- Заказчик
- Постановка практической задачи, предоставление исходных материалов, использование продукта в реальном ремонте, принятие проектных решений и обратная связь.
Результат
Коммерческий заказ превратился в работающую закрытую систему, которой заказчик пользуется для управления реальным ремонтом. Продукт связал данные из разных источников и сформировал единый рабочий процесс контроля бюджета, закупок, платежей, этапов, документов и качества работ.
- первая рабочая версия была создана за 3 дня
- продукт разработан Даниилом самостоятельно
- система работает в production
- заказчик использует продукт в реальном ремонте
- исходные Excel-ведомости и PDF-проект преобразованы в структурированные данные
- в каталог загружено 248 позиций
- в системе настроено 7 этапов ремонта
- создан единый реестр из 9 помещений
- учтены 6 групп альтернативных решений по электрике
- бюджет, расходы, платежи и закупки связаны в одной системе
- этапы связаны с приёмкой и замечаниями
- документы и рабочие решения собраны в одном месте
- Google Sheets предоставляет заказчику актуальную рабочую витрину
- сократился объём ручного поиска и сверки данных
- стало проще контролировать бюджет, закупки, платежи и сроки
- система помогает не пропускать замечания и обязательства
- AI-ассистент использует только контекст проекта
- продукт продолжает поддерживаться и развиваться
Текущий статус
Система работает в production и полноценно используется одним заказчиком для контроля реального ремонта. В рабочем контуре задействованы бюджет, расходы, закупки, платежи, этапы, замечания, документы, отчёты, синхронизация с Google Sheets, AI-ассистент и заметки.
Я продолжаю поддерживать продукт и развивать его по практическим сценариям заказчика.