Кейс: Разработка AI-генератора инвест-идей Investorum.ru | Портфолио веб-разработчика
Как превратить многолетний опыт трейдинга в автоматизированный SaaS-сервис. Разбор архитектуры Investorum: Next.js 14, Prisma, BullMQ, Redis и кастомная AI-оркестрация 8 агентов.

О проекте: На стыке кода и финтеха Investorum.ru — это полностью автономный сервис генерации и валидации инвестиционных идей для фондового, сырьевого и криптовалютного рынков. Система ежедневно сканирует новостной фон, сопоставляет его с реальными биржевыми котировками и формирует глубокие торговые планы с математически просчитанным риск-менеджментом.
Почему это работает: Этот проект не придуман «с потолка» на волне хайпа вокруг нейросетей. Я объединил свой многолетний практический опыт в трейдинге и экспертизу в веб-разработке. В логику сервиса заложены жесткие правила управления капиталом (Money Management), оценка математического ожидания (Expected Value) и соотношения риска к прибыли (Risk/Reward), которые я годами использовал при ручной торговле. Всё то, что раньше требовало часов рутинного анализа графиков и чтения отчетов, теперь делает автоматизированный AI-инвест-отдел.
Архитектура и Технологический Стек Проект построен по событийно-ориентированной архитектуре с четким разделением слоев представления, бизнес-логики и фонового процессинга.
Frontend / Server-side Rendering: Next.js 14 (App Router) на TypeScript. Интерфейс адаптирован для быстрого сканирования информации ( gauges-индикаторы, структурированные карточки идей, дашборды).
База данных и ORM: PostgreSQL + Prisma.
Асинхронные очереди и расписания: BullMQ + Redis.
UI-компоненты: Tailwind CSS + Shadcn/ui примитивы.
AI-ядро: Оркестрация моделей через OpenRouter API + Perplexity Sonar для веб-серчинга в реальном времени.
Главные инженерные вызовы и решения 1. Многоагентный пайплайн оркестрации (8 Агентов) Вместо одного «длинного» и непредсказуемого промпта к LLM, я спроектировал кастомную систему оркестрации, симулирующую работу реального инвестиционного фонда. Пайплайн разделен на два ключевых цикла:
Outer Loop: Агенты-скауты (Scout) мониторят RSS-ленты (РБК, Коммерсант, Investing и др.), отбирают триггеры, а Аналитик (Analyst) формирует шорт-лист кандидатов.
Inner Loop (Контур критики): Квант (Quant) строит торговый план, а Критик (Critic) ищет в нем изъяны. Они проводят до 3 ревизий плана, пока идея не пройдет жесткий Quality Gate. В финале Офицер Безопасности (Safety Check) проверяет сценарий на манипуляции рынком и соответствие законодательству (ст. 6.1 ФЗ-39).
2. Жесткий детерминизм и защита от «галлюцинаций» Нейросети печально известны тем, что могут придумывать факты и ошибаться в математике. В Investorum это исключено на уровне архитектуры:
Биржевые данные — единственный источник истины: Текущие цены и котировки подтягиваются напрямую через API MOEX ISS, CoinGecko и Stooq. LLM принципиально не имеет права «угадывать» цену.
Никакой LLM-арифметики: Агенты определяют только ключевые психологические уровни (Entry, Stop Loss, Take Profit). Математическое ожидание, размер риска в процентах, геометрию сделки и R/R считает бэкенд на сервере (src/ai/trade-plan.ts).
3. Контур обратной связи (Outcomes Loop) Идея ценна только тогда, когда она проверена рынком. Я реализовал фоновый трекинг жизненного цикла каждой опубликованной идеи (IdeaOutcome). Специальный воркер BullMQ регулярно опрашивает биржевые API и фиксирует: была ли достигнута цель (TARGET_HIT), выбило ли сделку по стопу (STOP_HIT) или идея истекла по времени (EXPIRED). В админ-панели формируется честная статистика: Hit Rate, Calibration Curve и общая доходность стратегий.
4. Изоляция данных и надежность деплоя В продакшене приложение работает через связку systemd + Docker Compose:
База данных Postgres и Redis изолированы в Docker-контейнерах с именованными volumes.
Сам код Next.js и BullMQ воркер работают как системные службы хоста через systemd. Это исключает необходимость тяжелого Docker-rebuild при минорных апдейтах кода и защищает данные при перезапусках.
Написана ExecStartPre-страховка: скрипт ожидания доступности портов БД в течение 60 секунд после ребута сервера, защищающая от race conditions.
Метрики и результаты разработки Полный аудит каждого шага: Каждый запрос к LLM логируется в таблицу GenerationStep с сохранением точных промптов, затрат в USD, токенов и времени ответа. Это обеспечивает 100% воспроизводимость пайплайна.
Высокая отказоустойчивость: Реализованы автоматические ретраи к API (3 попытки с экспоненциальным бэк оффом) и sliding-window rate-limiting для защиты от DDoS на уровне Edge-middleware.
SEO-оптимизация: Динамическая генерация OG-картинок (1200×630) на лету для каждой торговой идеи, автогенерация sitemap.xml и ISR (Incremental Static Regeneration) для главной страницы, обеспечивающая моментальный отклик.
Ищете разработчика для автоматизации финтех-процессов? Если вашей компании или проекту нужен:
Кастомный AI-сервис со сложной логикой оркестрации, где агенты контролируют и перепроверяют работу друг друга.
Платформа автоматизации трейдинга или генерации аналитики, интегрированная с биржевыми API (MOEX, Binance, Bybit, TradingView, MetaTrader).
Отказоустойчивый бэкенд на Node.js / TypeScript, способный переваривать тяжелые фоновые задачи в очередях и работать 24/7.
Я с радостью помогу спроектировать и реализовать систему любой сложности — от архитектуры базы данных до стеклянного минималистичного UI. Мой уникальный опыт (Senior Web Dev + Трейдинг) позволяет мне разговаривать с заказчиком на одном языке, понимать механику рынков изнутри и не допускать детских ошибок в риск-менеджменте при проектировании кода.
Свяжитесь со мной, и мы обсудим ваш проект!