Внутренние AI-ассистенты, которые выдерживают живых пользователей
Демо соберет почти любая команда. Сложное начинается дальше: поиск, который возвращает нужный документ, вызовы инструментов, которые не отваливаются молча, и интерфейс, который открывают в понедельник утром. Я делаю именно эту часть
Я выпускаю продуктовые фичи внутреннего LLM-ассистента, которым пользуются 38 000+ сотрудников крупного банка, и вел AI-инструменты целиком на Angular, React, Svelte и FastAPI
Или начните с постоянной поддержки от $1 500 в месяцФиксированный объем, фиксированная цена и дата
Каждая работа ниже оценена как результат, а не как блок часов. Если ваша задача не попадает ни в одну из них, это выяснится на первом созвоне
Внутренний LLM-ассистент
Руководство решило, что компании нужен AI. Что именно строить, сказать никто не может, а пилот, который кто-то начал в ноутбуке, не переживает встречи с живыми сотрудниками
Рабочий внутренний ассистент, которым пользуются: поиск по вашей документации, вызовы ваших систем, аутентификация и интерфейс, к которому не нужен отдельный воркшоп
- Пайплайн поиска по вашей документации и набор для оценки, чтобы качество измеряли, а не обсуждали
- Вызовы ваших внутренних API как инструментов: валидация схем, таймауты и вменяемое поведение при ошибках
- Стриминговый чат-интерфейс на React по вашей дизайн-системе, а не по универсальному шаблону
- Интеграция SSO и разграничение доступа так, как это уже устроено у вас
- Развертывание в вашей инфраструктуре и письменная передача, чтобы команда могла развивать дальше
Уже развернули Open WebUI или LibreChat внутри компании? Большая часть этой работы — довести такую установку до рабочего состояния: SSO с вашим провайдером идентификации, поиск по вашей документации с набором для оценки и вызовы ваших собственных API.
Обсудить эту работуАудит миграции с Angular на React
У вас кодовая база на Angular, рынок найма на React и ни одного честного ответа, сколько займет миграция и чем она рискует. Поэтому решение откладывается снова и снова
План миграции, который можно положить на стол тому, кто держит бюджет: что переезжает первым, что остается, сколько это стоит и где реальный риск
- Структурированный аудит репозитория, графа зависимостей и привязок к фреймворку
- План поэтапной миграции по продуктовым экранам, при котором разработка фич не останавливается
- Реестр рисков по состоянию, роутингу, общим компонентам и дырам в тестах
- Оценка трудоемкости по каждому экрану — вилками, по которым реально планировать
- Полуторачасовой разбор с вашими техлидами
Стоимость аудита засчитывается в миграцию, если решите ее делать. Полная миграция обычно от $15 000 в зависимости от количества экранов
Обсудить эту работуСпасение MVP, собранного на вайбе
MVP быстро собрали с помощью AI, у него появились живые пользователи, и теперь он падает в проде. Целиком код не понимает никто, и каждая правка рождает два новых бага
Кодовая база, которая перестает удивлять: опасные места починены, остальное описано, и есть письменная карта того, что еще требует работы
- Аудит аутентификации, модели данных и обработки ошибок с ранжированием по тому, как сильно каждое место может ударить
- В первую очередь — починка тех отказов, которые доходят до пользователей
- Тесты и CI на путях, которые приносят деньги, а не покрытие ради покрытия
- Письменная карта оставшегося техдолга с оценкой стоимости по каждому пункту
Надежность AI-фич
Вы встроили LLM в продукт. В демо работает, у пользователей ломается: битые ответы, зависшие запросы, исчезнувшие задачи и никакой возможности понять, стало ли лучше после правки промпта
Инфраструктурный слой, который превращает вызов LLM в предсказуемую продуктовую фичу
- Структурированные ответы с валидацией схемы и повторами, которые деградируют аккуратно
- Вызовы инструментов, которые обрабатывают частичный отказ, а не делают вид, что его не бывает
- Оркестрация асинхронных задач, очереди и статусы для работы, которая живет дольше запроса
- Стриминг токенов, который переживает переподключения и медленных клиентов
- Стенд для оценки и наблюдаемость, чтобы изменения промптов и моделей измерялись, а не угадывались
Fullstack-разработка продукта
В вашем проекте нет никакого LLM. Нужно нормально сделать веб-продукт: настоящий интерфейс, настоящий API за ним и человек, который не отдаст вам фронтенд со словами «бэкенд — это к другим»
Работающее веб-приложение в проде: React на фронте, FastAPI за ним, развернуто в вашей инфраструктуре — с тем же фиксированным объемом и фиксированной ценой, что и все остальное на этой странице
- Продуктовый интерфейс на React и TypeScript по вашей дизайн-системе или по аккуратному дефолту, если ее нет
- Бэкенд на FastAPI с моделью данных, миграциями и контрактами API, которые прочитает следующий разработчик
- Аутентификация, роли и интеграции со сторонними сервисами доведены до конца, а не заглушены ради демо
- Развертывание, упаковка в Docker и CI, чтобы следующее изменение можно было выпустить без меня
- Письменная передача: архитектура, принятые компромиссы и что делать дальше
Это универсальный вариант. Если ваша задача все-таки про AI, один из офферов выше подойдет лучше и обойдется дешевле
Обсудить эту работуПостоянная поддержка AI-фич
Для команд, которые уже выпустили AI-фичу и которым нужно, чтобы она продолжала работать. Новые версии моделей, дрейф промптов и просадки качества — это постоянные проблемы, а не разовые
- Мониторинг качества ответов по вашему набору для оценки
- Обновление промптов и моделей, когда провайдеры выкатывают изменения
- Небольшие фичи и правки в рамках согласованного месячного объема
- Конкретный человек, который уже знает ваш код, когда что-то сломалось
Условия — до того, как вы о них спросите
Фиксированная цена, а не часы
Вы покупаете определенный результат за определенную цену. Моя скорость — моя забота, а не повод брать с вас меньше за тот же результат
Каждую неделю — работающий софт
Каждую неделю вы получаете то, что можно потыкать, а не статус-отчет. Если направление неверное, вы узнаете это на первой неделе, а не на четвертой
Код ваш с первого дня
Работа идет в вашем репозитории под вашей лицензией. Нет обрыва при передаче и нечего выкупать в конце
Честные границы объема
В предложении прямо написано, что в объем не входит. Новый объем становится новым этапом с фиксированной ценой, а не тихим сдвигом сроков
Проблема, что я сделал, что изменилось
Эта работа внутренняя и под NDA, поэтому ниже — проблема, архитектура и мой объем ответственности, а не скриншоты
Платформа генерации изображений для дизайн-команды
Общий для компании API генерации изображений существовал, но у дизайнеров, которые должны были им пользоваться, был только плоский список задач. Организовать работу, доработать результат или следить за долгими генерациями, не заваливая сервер запросами статуса, было невозможно
Я вел фронтенд на Angular и заходил в бэкенд на FastAPI всякий раз, когда фиче требовалась серверная часть. Собрал рабочее пространство на досках, где дизайнеры группируют генерации по проектам, добавил перетаскивание между досками, реакции на изображения и редактирование для нескольких режимов генерации. Для асинхронной части спроектировал модель опроса с очередью приоритетов: статусы проверяются по важности, а не все подряд с фиксированным интервалом
1 000+ внутренних пользователей работают на досках вместо плоской очереди, а статусы генераций остаются актуальными без агрессивного поллинга общего API
Бэкенд, без которого платформы бы не было
В общем API генерации не было ни понятия конечного пользователя, ни истории задач, ни надежного хранилища. Интерфейсу нужно было все три, а отдельной бэкенд-команды, готовой это сделать, не было
Я спроектировал и написал backend-for-frontend на FastAPI: корпоративный SSO для конечных пользователей с сервисной маршрутизацией к API генерации, консьюмер событий, который забирает завершенные задачи из Kafka, и согласованное хранение в PostgreSQL и S3. По мере роста продукта расширил его под реакции, операции с досками и постобработку изображений
Пользовательские фичи выходили без передачи задачи бэкенд-команде посередине — именно поэтому фронтенд вообще мог двигаться
Миграция живого AI-ассистента на React
Внутренний LLM-ассистент на всю компанию работал на легаси-фронтенде на Svelte, который нужно было перевести на React. Им пользовались 38 000+ сотрудников, так что остановить разработку ради переписывания было нельзя
Я выпускал продуктовые фичи внутри смешанной кодовой базы Svelte и React, одновременно перенося продуктовую логику в зоны React, и правил бэкенд на FastAPI там, где это требовалось фиче. Параллельно помог выстроить более строгие требования к новому React-коду с Vitest, Biome, Oxlint и Playwright, чтобы новая часть не унаследовала проблемы старой
Миграция и разработка фич шли одним треком, а не двумя конкурирующими, в продукте, от которого зависят 38 000+ сотрудников
Код, который можно прочитать
Работа выше — внутренняя и с закрытым кодом. Эти публичные репозитории показывают ту же инженерию в коде, который можно прочитать
simple-openai-proxy
Слой вызова инструментов и структурированного вывода, который я строю на клиентских проектах
fastapi-mvp
Заготовка сервиса, которая держит скорость разработки без срезания углов
lint-gost-tex
Законченный CLI-продукт с реальными правилами, тестами и краевыми случаями
От первого сообщения до передачи
Созвон
Вы описываете задачу. Я говорю, тот ли я человек для нее, в том числе когда ответ «нет». Без презентаций и счета за «исследование»
Предложение
Фиксированный объем, фиксированная цена, дата сдачи и явный список того, что не входит. Если не подходит по бюджету — вы потеряли один созвон
Разработка
Работа идет в вашем репозитории, каждую неделю есть что показать. Прогресс виден софтом, а корректировки курса случаются рано
Передача
Развертывание, документация и разбор с вашей командой. После этого вы зависите от меня только если сами захотите
Вопросы, которые возникают на каждом первом созвоне
Работаете по часам?
Нет. Фиксированная цена за определенный результат. Почасовая оплата означает, что вы платите больше, когда я работаю медленнее, — странное желание для нас обоих
Вы беретесь только за AI-проекты?
Нет. Большая часть моей работы — про AI, и там я полезнее всего, но продукт без модели внутри остается продуктом. Для этого выше есть Fullstack-разработка продукта: React на фронте, FastAPI за ним, тот же фиксированный объем и цена
Кому принадлежит код?
Вам, с первого коммита. Работа идет в вашем репозитории под вашей лицензией, и при передаче ничего не придерживается
Подпишете NDA?
Да. Большая часть моего опыта — внутренние продукты, уже закрытые NDA, поэтому кейсы здесь описывают архитектуру и объем работ, а не скриншоты
Что будет, если объем изменится?
Мелочи беру на себя. Все крупнее становится отдельным этапом с фиксированной ценой, который вы согласуете до начала, а не тихим сдвигом даты сдачи
Как устроена оплата?
Обычно 50% предоплата и 50% по сдаче, длинные проекты разбиваются на этапы. Детали выставления счетов фиксируются письменно до начала работы
В каких часовых поясах вы работаете?
По умолчанию работаю асинхронно и пересекаюсь с рабочими часами Европы и Азии. Еженедельные демо ставятся под вашу команду, а не под меня
Расскажите, что сломано
Самое полезное первое сообщение — один абзац: что вы пытаетесь построить или починить и что сейчас мешает. Отвечаю в течение дня и прямо скажу, если я не тот человек для этой задачи