MARKWU

FRC Scouting Platform

Distributed, online-first match and pit scouting ecosystem with deterministic sync, admin control, and integrated real-time analytics.

Matches Logged
Events
Teams
Median Sync
undefined s

System Overview

Built for multi-client real-time synchronization, deterministic database updates, and reliable analytics under network constraints. Architecture emphasizes idempotent operations, typed data flow, and online-first reliability.

Frontend

React + TypeScript progressive web app with Dexie-based local queue. Optimistic updates, atomic phase transitions, and full offline operation.

Backend

FastAPI + asyncpg backend with scikit learn and manually implemented algorithms.

Database

PostgreSQL schema.

Data Analytics

Integrated algorithms compute team performance trends and alliance predictions.

  • Bayesian Elo: adaptive rating using probabilistic outcome inference.
  • Theil–Sen Estimator + Heuristics Scoring Algorithm: robust regression on historical performance vectors.
  • Ranking K-Means Clustering: group and rank teams by offensive, balanced, and support roles.
  • Random Forest Regressor: predicts alliance score variance using composite features.

Analytics Example:

[
  {team: 1234, cycle_time: 6.4, barge: 1.21, cluster: "Coral cycle"},
  {team: 4920, cycle_time: 9.8, barge: 5.49, cluster: "Algae"}
]

TODO: add example data page

Admin Dashboard

Loading...

Admin Control

  • Role-based access and passcode hashing.
  • Live session tracking through https even in high latency environments.
  • Event-wide analytics refresh.

Engineering Highlights

  • Asynchronous Python backend with FastAPI + asyncpg.
  • Typed React/TypeScript frontend with IndexedDB queueing.
  • Deterministic sync and conflict-free replication.
  • Offline-tolerant PWA using service workers.
  • Dynamic analytics with statistical + ML components.
  • Secure admin and role isolation model.

*All analytics and visualizations on this page use anonymized or synthetic data for privacy. No team-specific or strategy data is included.*

Explore Further

Try out the app(sorry, the team didn't let me share sources).