Максим Гундырев

Один человек. Полный цикл.

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

ИП, договор, оплата по этапам. Код и доступы остаются у вас.

Максим Гундырев за работой: на доске схема будущей системы
02Три фазы

Как я работаю

  1. 01

    Архитектура

    Проектирую систему до первой строчки кода: модули, данные, границы.

  2. 02

    Разработка

    Бэкенд, API, очереди, слой нейросетей. Пишу сам, до конца.

  3. 03

    Эволюция

    Не останавливаюсь после релиза. Вижу, где система просит следующего шага, и делаю, не дожидаясь постановки.

03Свои и для заказчиков

Проекты

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

ПРИНТ

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

Сотрудник отправляет документ на печать из браузера или сканирует на МФУ: файл попадает в защищённое хранилище, метаданные в базу. Админ видит, кто что печатал, когда и сколько бумаги ушло. Роли, квоты, аудит, политики безопасности.

Что внутри

Сервис печати единственный в проекте на host-network: docker-изоляция ломает multicast mDNS, без которого принтеры в локалке не находятся. Лицензию держит не подпись, а часы: расхождение системного времени больше 5 секунд блокирует всё, отмотать назад не выйдет. Go, Next.js, PostgreSQL, SeaweedFS, внутри периметра, без облачных подписок.

ГРИФ

Протокол сквозного шифрования на российских стандартах

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

Что внутри

Info-строка KDF «ГРИФ-X3DH-v1», на кириллице. Звучит декоративно, работает жёстко: любой код, производный от Signal, на этой константе спотыкается, несовместимость с чужими форками гарантирована. Skipped-keys с жёстким лимитом 1000: без него атакующий шлёт миллион фейковых индексов и раздувает память. Rust, шесть крейтов, ключи занулены на drop.

SOLOVEYCALL

Суверенная видеоконференцсвязь с E2EE на протоколе ГРИФ

Два пользователя заходят в комнату, медиапоток идёт между браузерами напрямую, аудио и видео дополнительно шифруются протоколом ГРИФ через Insertable Streams. Даже если сервер скомпрометирован, разговор остаётся закрытым. Никаких Zoom и AWS: всё разворачивается внутри корпоративной сети.

Что внутри

Ключи ротируются каждые 100 кадров, это 3–4 секунды видео: если ключ и вытащат, скомпрометирован будет отрезок в пару секунд, старый занулён без grace-периода. До пяти участников mesh, дальше SFU: в mesh каждый клиент тянет двадцать потоков и упирается в аплинк. Общий секрет гибридный, x25519 + ML-KEM-768, на случай дыры в постквантовой части.

GOST-CRYPTO

ГОСТ-криптография для Go

Набор российских алгоритмов как обычный Go-пакет: хэш «Стрибог», блочные шифры «Кузнечик» и «Магма», подпись ГОСТ 34.10, X.509-сертификаты. Всё через один import, разработчик не пишет криптографию руками.

Что внутри

Предвычисленные s+l-таблицы подняли «Кузнечик» с 3 до 17 МБ/с на голом Go, почти шестикратно, без единой строки ассемблера. Реализован crypto.Signer, и это меняет всё: гост-ключ подставляется в любую go-библиотеку, которая ждёт Signer, в TLS, X.509, JWT, без адаптера. Свой DRBG не писал: crypto/rand из stdlib уже криптостойкий, лишний слой — лишнее место сломаться.

AVRIS

Конвейер обработки аудиозаписей

Загружаешь часовую запись совещания, система разделяет её на спикеров, транскрибирует речь в текст, сверяет голоса с базой известных людей. Тяжёлые нейросетевые модели крутятся на GPU в облаке, воркеры координирует Celery.

Что внутри

Прогресс долгих задач показывает htmx-polling с ответом HTTP 286: по RFC это «stop polling», и клиент сам прекращает опрос, когда активных задач не осталось. Ни SSE, ни websocket. Записи длиннее получаса режу на куски по 25 минут с 60-секундным перекрытием: модель не срывается на границах, склейка по таймкодам. Холодный старт GPU показан отдельным статусом, а не спрятан под «обработка».

HAWKDESK

Корпоративная система заявок поддержки

Сотрудник пишет заявку через веб, API обрабатывает её с учётом роли и прав, Prisma пишет в базу, файлы уходят в хранилище вложений, уведомления по SMTP. Админы видят SLA-таймеры, менеджеры нагрузку команды, агенты свой список.

Что внутри

Refresh-токены лежат в базе не как есть, а bcrypt-хэшами, рядом ip, user-agent и last_used_at, поэтому чужая сессия видна сразу, а на каждый refresh старый токен сгорает. Виджет для чужого сайта работает по api-key и полностью отвязан от пользовательской авторизации, встраивание разрешено списком через CSP frame-ancestors. Один cron вместо очереди: закрывать решённые тикеты раз в сутки, ради этого bullmq не нужен.

BIMMEREXPERT

Платформа и фирменный стиль: от выбора до готового файла в одном пути

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

Что внутри

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

BIMJUMP

Автомобиль в одном городе, диагностика в другом, софт ничего не заметит

Автомобиль подключён кабелем к компьютеру клиента, а программа диагностики стоит у кодировщика в другом городе. Кодировщик вводит короткий код, и программа видит машину так, будто она подключена к соседнему кабелю.

Что внутри

Диагностическая программа ничего не знает о релее и не требует ручной настройки: сторона кодировщика ведёт себя как настоящий автомобиль. Клиенту ничего не нужно устанавливать, а канал защищён современным шифрованием. Go.

LEDGER

Учёт операций, где все остатки вырастают из одного журнала

Система учёта операций и остатков для заказчика с несколькими видами активов. События из внешних систем попадают в журнал, а позиции, остатки и итоги вычисляются из него на лету. Цены и курсы подтягиваются сами.

Что внутри

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

SENTINEL

Система для проектных подрядчиков: каждый видит только своё

Клиенты, проекты, почта, задачи и файлы собраны в одном месте. Каждая роль видит ровно свою часть работы, исполнитель не знает заказчика, а сроки считаются сами. Рядом работает ассистент на ИИ, который отвечает по рабочим документам.

Что внутри

Ассистент на ИИ живёт за отдельной границей и не знает, где лежит основная база: он получает только то, что роль уже вправе видеть, а всё лишнее в вопросе скрывается ещё до отправки. Закрыл вкладку посреди ответа, вернулся, и ответ продолжился с того же места. Исполнитель не узнает заказчика даже по свойствам файла, а журнал действий нельзя переписать задним числом.

DRAFTSCAN

ИИ-агент проверяет чертежи на соответствие требованиям

Инженер открывает чертёж на одном экране, и система сама собирает паспорт объекта из задания и самого чертежа. Каждая проверка превращается в карточку со статусом и доказательством. Агент может исправить чертёж, но не вправе сделать его хуже.

Что внутри

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

STOREFRONT

Витрина интернет-магазина, где каждое фото выглядит как со студии

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

Что внутри

Фотографии товаров сами превращаются в чистые студийные кадры: ровный фон, аккуратный контур, мгновенная загрузка. Битая картинка на витрине не показывается никогда. Посетитель, назвавший адрес своего сайта, получает от генератора идеи и готовые образцы с его логотипом, которые появляются по одному, пока он смотрит. Нагрузка на магазин владельца не растёт вместе с трафиком.

ANOVPN

Vpn, который сам находит рабочий путь и не рвёт соединения

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

Что внутри

Канал выбирается не по пингу, а по тому, действительно ли через него проходит нужное: решение принимает небольшая чистая функция, поэтому оно предсказуемо и проверяемо. Переключение незаметно для открытых соединений, а подписка отдаёт приложению живое состояние сети вместо статичного списка. Клиенты на разных платформах говорят с одним сервером. Go, sing-box.

TRIBUNAL

Аудит смарт-контрактов, где находка без рабочего теста не считается

Команда сессий Claude Code читает контракты, каждая со своей позиции, в поисках уязвимостей. Гипотеза становится находкой, только если для неё есть рабочий тест, прошедший независимую проверку.

Что внутри

Аудит устроен как суд: модель не может убедить систему словами, ей нужно предъявить доказательство, и доказательство само проходит независимую проверку. Несколько взглядов на один код спорят между собой, а спор становится материалом для поиска. Система помнит, чему научилась на прошлых прогонах, и умеет продолжать с того места, где остановилась.

DEPERZ

Прячет имена и реквизиты от зарубежной нейросети, потом возвращает

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

Что внутри

Всё, что связано с личными данными, проверено не на ощущениях, а замерами: даже вид условной метки подобран по тому, как нейросеть обращается с ней в ответах. Библиотека понимает русские падежи, узнаёт реквизиты по их внутреннему устройству и возвращает настоящие значения в ответ так, что текст читается естественно. Python.

CONVEYOR

Рой агентов в терминале, который собирается сам

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

Что внутри

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

PIXPERF

Верстает макет в html и сам доводит его до совпадения

Скриншот макета превращается в HTML: модель получает точное описание каждого элемента. Дальше цикл: рендер, оценка расхождения, наложение «макет красным, рендер голубым» и правка по нему.

Что внутри

Наложение «макет красным, рендер голубым» превращает расхождение в готовую инструкцию: красное рядом с голубым значит один смещённый элемент, и модель видит, куда его двигать. Метрика считает только значимые пиксели, поэтому пустой фон не приукрашивает результат. Цикл правок хранит лучший вариант и сходится сам. Python, Playwright, Pillow.

EXOCORTEX

Память для Claude Code: журнал как истина, база как индекс

Claude Code помнит решения прошлых сессий: записываешь командой или он сам, а нужное всплывает в разговоре без просьбы. Ищет и по смыслу, и по словам; всё живёт в одном бинарнике и в обычном git.

Что внутри

Знания живут в простом журнале под git, а база лишь производный индекс: её можно удалить и восстановить без потерь. Поэтому память переживает любые сбои, свободно переезжает между машинами, а несколько терминалов пишут в неё одновременно. Поиск понимает и смысл, и точные слова. Go, SQLite.

MY-PI

Команды агентов для pi, как будто так и задумано

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

Что внутри

Научил pi работать командой так, как это умеет Claude Code: лид собирает помощников, они берут задачи из общего списка, советуются друг с другом и докладывают о готовности. Выглядит как родная возможность агента, а не надстройка. Помощники работают параллельно, не мешают друг другу, а лид всегда в курсе происходящего.

ROSTRA

Css-ядро без зависимостей: тема и плотность как атрибуты, а не варианты

Набор компонентов для рабочих интерфейсов: таблицы, формы, меню, календарь, доска. Тема и плотность переключаются одним атрибутом, а страница работает и без JavaScript. Опубликован в npm как rostra-ui.

Что внутри

Дизайн-система, в которой темы и плотность переключаются на лету, а доступность и контраст проверяются автоматически. Основной CSS чист и лёгок, а старым браузерам отдельно собирается своя версия из тех же токенов. Страница работает и без JavaScript, React-слой подключается по желанию. Без зависимостей.

TENDIK

Нет ссылки на магазин и цитаты, нет и цены

Вставляешь ссылку на закупку: система разбирает техзадание на позиции и ищет цену каждой в магазинах. У каждой цены есть ссылка на страницу и цитата с неё; из подтверждённых цен собирается маржа.

Что внутри

Система не выдаёт ни одной цены без страницы-источника и дословной цитаты с неё: что не подтверждено, в отчёт не попадает. Качество оценивается по тому, как цены ложатся в разброс проверенных предложений рынка, а не по одному эталону. Из подтверждённых цен считается маржа, а обоснование можно показать контролёру. Python, FastAPI, Postgres.

04Пять направлений

Чем могу быть полезен вашей компании

Начнём работу вместе

Напишите в Telegram или оставьте заявку на главной. Отвечаю в тот же рабочий день, а за 15 минут созвона вы поймёте, сколько это стоит и сколько займёт.