Арсен
Дзантиев

01Свой продуктРаботает

Argus

Рабочее место футбольного агентства, клуба и скаута.

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

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

Моя работа

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

Перейти на сайт: argus.football↗
Профиль Хвичи Кварацхелии в работающем продукте.Рабочий продукт

В цифрах

529 137
записей о трансферах с 1996 по 2026 год в одном хранилище
72 828
игроков сопоставлены между источниками
116
лиг в 82 странах
4 257
тестов прошёл релиз от 27 сентября 2026 года

Что я построил

01

Хранилище данных из разных источников

Много неоднородных источников, одна надёжная запись об игроке.

Проблема

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

Как это работает

  • До публикации каждый импорт проходит пять проверок: структура данных, потеря не более 15 % строк, минимальное число записей, заполненность столбцов и даты, которые не идут назад. Если проверка не пройдена, рабочие данные не меняются.
  • Игроки сопоставляются за три прохода с оценкой уверенности: точный идентификатор (1,0), имя и дата рождения (0,95), близкое имя с одним явным кандидатом (0,8). Ручные связи никогда не перезаписываются.
  • Клубы сопоставляются голосованием: минимум три общих игрока и явный перевес. Совпадение результатов составляет 99,7 %.
  • До загрузки данных 21 эталонный трансфер должен совпасть с погрешностью не более 1 %. Источники сверяются каждую неделю, расхождения становятся задачами.

Состояние

  • Работает: используется в продакшне529 137 записей о трансферах с 1996 по 2026 год, 72 828 игроков, 15 961 клуб.

Где ещё применимо

Каталоги товаров от разных поставщиков, данные о недвижимости, медицинские реестры, KYC, логистика.

Открытая страница покрытия: все лиги в хранилище, сгруппированные по календарю.Рабочий продукт

02

Студия анализа игроков

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

Проблема

Обычные процентили считаются внутри одной лиги. 90-й процентиль в Эстонии и в Премьер-лиге означает разный уровень игрока.

Как это работает

  • Вы выбираете группу: позицию, силу лиги, дивизион, сезон, минуты и возраст. Индикатор показывает, насколько надёжна выборка.
  • Три режима: исходные показатели; «при переходе», пересчёт в другую группу лиг с поправкой на возраст; с поправкой на силу лиги.
  • Похожие игроки находятся сравнением 32 процентилей одновременно: совпадать должны и стиль, и уровень. Фильтры помогают найти замену моложе, дешевле или того же уровня.
  • Старые данные не выдаются за свежие. Пропуск обозначается как «нет наблюдения», а не нулём.

Состояние

  • Работает: используется в продакшнеПоиск по всем игрокам: имя за 5 мс, обычные фильтры менее чем за 80 мс.

Где ещё применимо

Продажи в регионах разной силы, сравнение клиник с учётом состава пациентов, сотрудников между офисами.

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

03

Оценка стоимости игрока и сценарии

Цена с честным диапазоном и сценарии из того, что происходило с похожими игроками.

Проблема

Публичная рыночная стоимость выражает мнение, а не цену сделки. Модели, обещающие найти «недооценённых» или «готовых уйти», обычно выпускают без проверки.

Как это работает

  • Ожидаемая сумма трансфера с двумя диапазонами: половина реальных сделок попадает во внутренний, четыре из пяти во внешний. Калибровка подняла фактическое покрытие с 43 % и 73 % до 50 % и 80 %.
  • Вероятность платного перехода стоит рядом с ценой и не умножается на неё. Внутри цены она занижала значения втрое.
  • Прогноз на 12 и 24 месяца точнее простого «ничего не изменится»: ошибка 0,282 против 0,300.
  • Шесть сценариев по реальным историям похожих игроков: основа, ротация, запас; переход выше, ниже или на тот же уровень. Карточка предупреждает: это факты о других игроках, а не прогноз для этого.
  • Каждую модель сначала сравниваем с простым базовым прогнозом. Две не прошли проверку и не были выпущены.

Состояние

  • Работает: используется в продакшнеПереобучение каждый месяц.

Где ещё применимо

Любой рынок неликвидных активов с историей сделок: недвижимость, оборудование, мультипликаторы M&A.

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

04

Подбор с объяснением

Запрос превращается в короткий список, у каждого имени есть обоснование.

Проблема

Агент читает «центральный защитник-левша, до 23 лет, до €2 млн» на одном экране и заново вводит фильтры на другом. Сотни раз за трансферное окно.

Как это работает

  • Каждый критерий возвращает «да», «нет» или «неизвестно». Неизвестное никогда не считается соответствием.
  • Сначала свои игроки. Сравниваются только подтверждённые условия с источником и сроком действия. Рыночная стоимость никогда не подменяет запрашиваемую цену.
  • Затем весь рынок. Там лимит суммы сравнивается с рыночной стоимостью, и это явно указано. То, что проверить нельзя, например зарплату, система перечисляет. Соседняя позиция помечается как близкое соответствие.
  • Для каждого игрока клубы ранжируются по потребности состава, результатам похожих переходов и платёжеспособности. Маловероятный вариант остаётся в списке с пометкой.

Состояние

  • Работает: используется в продакшне26 тестов закрепляют правила подбора.

Где ещё применимо

Кадровые агентства, риелторы, дистрибьюторы, агентства талантов.

ЦЗ · левша · до 23 · до €2 млн
ИГРОКНОГАЛЕТПОЗ.ЦЕНАИТОГ
Игрок A · 22✓✓✓✓Подходит
Игрок B · 21✓✓~✓Проверить
Игрок C · 23✓✓✓?Исключён
Игрок D · 25✓✕✓✓Исключён

? цена не подтверждена → неизвестное не проходит · ~ соседняя позиция, близкое соответствие

Запрос клуба → списокПример данных

05

От заметок скаута к отчёту

Голос, текст или фото блокнота превращаются в структурированный отчёт. Слова скаута на первом месте.

Проблема

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

Как это работает

  • На входе голос, диктовка, текст, фото рукописных заметок или до 100 сохранённых записей. Канал WhatsApp готов и ждёт одобрения Meta.
  • ИИ-помощник находит игрока, просит скаута подтвердить выбор, собирает оценки и уточняет непонятное.
  • Наблюдения скаута ведут рассказ. Данные подкрепляют их или открыто расходятся с ними. Если материала мало, отчёт прямо это сообщает.
  • Данные, курс валют и графики фиксируются в момент написания: через год PDF означает то же самое. PDF, изображение и ссылка выглядят точно как экран.

Состояние

  • Готово: ещё не используется ежедневноРедактор, 10 шаблонов, 6 тем и экспорт работают.

Где ещё применимо

Инспекторы, аудиторы, выездные продажи, риелторы, врачебные обходы.

Голос · 0:42

Фото блокнота

Смел в борьбе. Опаздывает на подбор. Просит мяч под давлением.

Отчёт · Игрок A

Наблюдения скаута

Смел в борьбе. Опаздывает на подбор. Хочет мяч под давлением.

Проверка данными

Дуэли 61 %: совпадает. Верх 38 %: расхождение, отмечено.

Оценка

B+ · кандидат в основу

Мало данных: 412 минут за сезон

Заметки → отчётПример данных

06

Лента возможностей

Каждое утро система показывает, что требует внимания. Человек решает, что делать.

Проблема

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

Как это работает

  • Шесть видов фактов, у каждого свой срок: контракт 180 дней, мандат 90, день рождения 14, срок запроса 21, запрос без ответа 14, клиент без контакта 90.
  • Лента вычисляется при каждом чтении. Продлили контракт, и карточка вернётся уже как новый факт.
  • Кнопки ведут туда, где человек сам создаёт работу. Система не создаёт задачи самостоятельно, это закреплено тестом.

Состояние

  • Работает: используется в продакшне

Где ещё применимо

Работа с клиентами, юридические сроки, частный банкинг, удержание семей в академиях, продления.

Мандат

С игроком A осталось 88 дней

Продлить →

Запрос клуба

21 день без ответа

Ответить →

Клиент

94 дня без разговора

Записать звонок →

Контракт

У игрока C осталось 176 дней

Открыть сделку →

Ничего не создаётся, пока человек не нажмёт кнопку.

Сегодня утромПример данных

07

Контрактные выплаты считаются сами

Бонусы считаются по данным матчей. Заработанное, но ещё не выставленное к оплате собрано в одном списке.

Проблема

Условие «€200 тыс. после 450 минут» остаётся на нуле, пока кто-то вручную не посчитает матчи. Заработанные деньги не выставляются к оплате.

Как это работает

  • Условие описывается полностью: фиксированная сумма, за единицу или за порог; период; соревнования; один из шести показателей; 21 валюта.
  • Матч, который не удалось прочитать, пропускается, а не считается нулевым. От этого числа зависит счёт.
  • Если источник исправляет матч, счётчик уменьшается. Экран показывает «820 / 1 100 минут» и откуда взялось число.
  • Разные валюты не складываются. Каждая сумма хранит курс ЕЦБ на свою дату.

Состояние

  • Готово: ещё не используется ежедневноСчитает по запросу. Ночной запуск следующий.

Где ещё применимо

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

Бонус €200 000 за 1100 минут

0 / 1100

90
90
78
90
?
90
64
90
90
68
70

? состав не прочитан → пропуск, не ноль

Заработано, не выставлено · €120 000 · условие 1, 14 сент.

Условие 3 · минутыПример данных

08

Контроль работы и проверка в Telegram

Платформа следит за собой и пишет в Telegram при сбоях. Спорные решения приходят человеку карточкой с кнопками.

Проблема

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

Как это работает

  • Каждые 20 минут шесть проверок: упавшие, зависшие и пропущенные задачи, остановившиеся таблицы, замолчавшие источники и изменения базы, применившиеся с ошибками.
  • Одно сообщение, отсортированное по серьёзности. Повторное предупреждение молчит 20 часов. В 09:00 приходит зелёная строка, чтобы тишина не оставляла сомнений.
  • Каждый день проверяются около 30 эталонных игроков с заведомо верными данными. Если у двух возникает одинаковая ошибка, срабатывает тревога.
  • Новость с неуверенным сопоставлением игрока задерживается и приходит карточкой: одобрить, отклонить, перепривязать. Перепривязка обучает сопоставление на будущее.

Состояние

  • Работает: используется в продакшнеМониторинг и проверка эталонов.
  • Готово: ещё не используется ежедневноБот проверки.

Где ещё применимо

Любая компания с потоками данных и интеграциями. Модерация контента, KYC и поддержка одним нажатием.

Контроль · 07:40 UTC · 2 сбоя

[КРИТ] Импорт остановлен: потеря строк 71 %

[ВНИМ] Стоимости не обновлялись 9 дней

09:00 · всё хорошо · 26 задач в норме

ЗАДЕРЖАНО · игрок не определён

«Левый защитник согласовал условия»: подходят 2 игрока

ОдобритьОтклонитьСвязать

→ опубликовано · имя сохранено, дальше свяжется само

Бот мониторингаПример данных

09

Дизайн

Бренд, дизайн-система, данные на экране, отчёты и сайты. Варианты рядом на настоящем содержании; лучший становится стандартом.

Проблема

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

Как это работает

  • Варианты рядом на реальных данных и худшем случае. Из 20 вариантов выбраны полоса показателей и вкладки для всего продукта; бегущая точка на карте выбрана из пяти и стала стандартом всех карт.
  • Широкий поиск, узкий выбор: из 26 шрифтовых систем одна, из 35 шаблонов отчёта десять.
  • Шрифты выбираются с причиной: приложение читают в основном по-русски, а шрифт лендинга не поддерживает кириллицу, поэтому используются Brygada 1918 и Literata.
  • Контраст цветов категорий измерен в обеих темах. Шестой цвет не прошёл проверку и был убран. Правила дизайна закреплены тестами.
  • Всё спроектировал и разработал я с помощью ИИ-инструментов.

Состояние

  • Работает: используется в продакшнеЗнак, палитра, дизайн-система и около 45 графиков и карт; 10 шаблонов отчётов в 6 темах.

Где ещё применимо

Бренд-системы клубов, агентств и медиа. Панели с большим объёмом данных. Отчёты, одинаковые на экране и в PDF. Сайты-запуски в формате фильма.

Обзор рынка: окно в цифрах, последние сделки и слухи, переходы на карте.Рабочий продукт

Что ещё внутри

  • Закрытый: внутренний инструмент

    Исследование до первого разговора

    Использую для своего поиска клиентов. Перед тем как написать организации, инструмент изучает открытые сведения о ней и сохраняет ссылку, дату и цитату для каждого факта. Если страницу не удалось прочитать, доверие к факту ниже. Если непонятно, кто перед ним, спрашивает меня. Перед платным поиском проверяет список тех, кому писать нельзя. Готовит черновики, но сам их не отправляет. Одно исследование стоит около €0,10.

    1

    Открытые источники

    Официальные страницы, поиск, открытые профили

    2

    Доказательства

    Каждый факт: ссылка, дата, цитата. Страница не прочитана, уверенность ниже.

    3

    Человек

    Неясные личности и каждое сообщение проходят через меня.

    4

    CRM

    Этапы, заметки, список запретов перед каждым платным запросом.

  • Работает: используется в продакшне

    Проверенные резервные копии и откат релизов

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

  • Работает: используется в продакшне

    Единый шлюз для людей и ИИ-агентов

    Веб-приложение, мобильное приложение, помощник и внешние ИИ-агенты записывают данные через один шлюз с правами пользователя. В нём 78 операций: 35 на чтение и 43 на запись. Они доступны через API и MCP-сервер, стандартный способ вызова инструментов ИИ-помощниками.

  • Готово: ещё не используется ежедневно

    Досье для клуба и подготовка переговоров

    Досье игрока для клуба, сопроводительное письмо до 130 слов только по отмеченным агентом фактам и внутренняя справка для переговоров.

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

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

    Генератор заполняет рабочее пространство реалистичными данными за квартал работы агентства, одинаковыми при каждом запуске. Демо и приёмочные тесты всегда начинаются с одного состояния.

Технологии

  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL
  • Pythonобработка данных и модели
  • Capacitorмобильное приложение
  • Vercel AI SDK