Skip to content

Repository files navigation

Stride — athlete monetization & sponsorship platform (first product draft)

Athletes connect platforms and own evidence-based marketability analytics. Sponsors match campaign briefs against the athlete pool with fully decomposable scoring and run the deal pipeline. Fans discover and follow. The analytics core is the CreatorLens engine (built first in this project), vendored at packages/creatorlens and integrated end-to-end — not reimplemented.

First iteration uses simulated athletes and simulated platform data by design — through the production ingestion/scoring pipeline, so swapping to live APIs changes one connector class per platform.

Run it (two terminals)

# 1. API  (uv manages Python; seeds on first run)         http://127.0.0.1:8490
uv run stride serve

# 2. Web  (from apps/web; first time: npm install)         http://localhost:5173
npm run dev

Demo accounts — password stride123: athlete@demo.stride · sponsor@demo.stride · fan@demo.stride · admin@demo.stride

Layout

apps/web/                React 18 + Vite + TS + Tailwind — landing, auth, athlete
                         workspace, sponsor campaigns/matching/evidence/pipeline,
                         fan discovery/feed, public directory + profiles
apps/api/stride_api/     FastAPI — auth+RBAC, routers per bounded context,
                         matching engine, JSON logs + metrics + probes, chaos layer,
                         simulated seed
packages/creatorlens/    the analytics engine: connectors → ingestion → KPIs →
                         versioned marketability scoring (its own docs inside)
infra/                   Dockerfiles + compose, K8s manifests (probes, HPA, scrape
                         annotations), Supabase/Postgres migration with RLS policies
scripts/failure_drill.py chaos drill: latency / errors / db-down → observe → recover
docs/                    written: architecture (system) · ui-architecture (the client's
                         layers, routing, session, data flow) · product · repo-analysis ·
                         build-plan · runbook · costs (staged cost model + unit economics)
                         visual, open in a browser:
                           system-map.html    the whole system on one canvas, with a
                                              five-step walkthrough of the request path
                           how-it-works.html  seven small flowcharts — four for the
                                              browser, three for the server
                           architecture.html  the future-state deployment blueprint
                         design-system.md is a redirect; the design brief is
                         apps/web/DESIGN.md — read it before writing any UI

Verification status

  • API battery: 48/48 checks (roles, RBAC boundaries, matching decomposition, campaign-specific audience fit, offer round-trips, registration, audit, chaos+recovery)
  • Web: typecheck clean; sponsor + athlete + public flows exercised in-browser
  • Failure drill: baseline 9ms → 414ms injected latency → 503 injection → readiness degradation → full recovery

Containerized

docker compose -f infra/docker-compose.yml up --build   # web :8080, api :8490
kubectl apply -f infra/k8s/stride.yaml                  # probes, HPA, scrape annotations

See docs/build-plan.md for what comes next (Postgres/Supabase, live connectors, claim flow, notifications).

About

Athlete and club monetization platform - sponsorship marketplace with evidence-based marketability analytics (FastAPI + React + Supabase)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages