Платформа

orienteering

Разбор стартов по ориентированию: геопривязка карт, плеер трека, сплиты по КП.

Что это

FastAPI-портал, сознательно построенный на том же стеке и той же структуре, что и running-portal, но под другую предметную область — там, где к треку добавляются бумажная карта, контрольные пункты и протокол соревнований.

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

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

Задача, которую решает

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

Что демонстрирует

ИИ в продукте

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

Факты

Разработка
2 мес
Коммитов
57
Объём кода
~18 400 строк
Файлов
30 py · 29 html · 13 js
Тесты
10 наборов
Статус
в эксплуатации

Стек и подход

Ядро: Python 3.12+, FastAPI, Uvicorn, Jinja2, SQLite (aiosqlite), pytest + pytest-asyncio.
Сервисы: обработка GPX, геопривязка, разбор протоколов, импорт результатов.
ИИ-тренер: отдельный роутер разбора дистанции — ошибки на сплитах и рекомендации.
Фронтенд: заметная доля клиентского кода — карта, плеер, графики.
Deploy: Docker.

Теги

FastAPI ИИ в продукте Шаблон → переиспользование Прототип до кода В эксплуатации

След ИИ-процесса

Постановки лежат в репозитории вместе с HTML-прототипами визуализаций: распределение темпа, зоны Jenks, дашборд причин ошибок — сложная аналитика сначала рисовалась, потом кодировалась. Стек и структура намеренно скопированы с соседнего портала, и это зафиксировано в README как решение, а не совпадение.

Почему это отвечает роли «превратить AI-кейсы в стандарт»

Это доказательство переносимости метода: удачный проект превращён в шаблон, по которому второй портал в другой предметной области собирается быстрее и предсказуемее. Ровно тот переход от «кейса» к «стандарту», о котором идёт речь в роли.

← Ко всем проектам На главную публичная витрина · метод и метрики