BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
V5 college football forecasts, team ratings, and season performance.
Translation pending
Sports & fitnessPython · TypeScriptGitHub @connorkitchingsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
College-football spread and total prediction system: Python pipeline, immutable
Cloudflare R2 data lake, Neon serving state, and a Vercel web app.
See docs/status.md for live run IDs, week state and the scoreboard. V5 model development is complete and accepted. Week 4 is scored (Weeks 0–4 are retrospective V5 replays); V4 frozen runs remain the rollback. Six slates are not a prelaunch requirement; prospective results are a monitoring window. V5 ratings successor is distinct from the V4 feature schema v5 diagnostic. The primary success metric is prospective ATS win % vs the 52.4% break-even.Read the full README ↗College-football spread and total forecasts from a Python V5 season engine, an immutable Cloudflare R2 lake, Neon Postgres and a Vercel web app.
The public product is Stratum CFB. Repository, package, infrastructure identifiers and the existing website address retain their technical names. See the brand decision.
See docs/status.md for the active release, week state and published scoreboard. V5 model development is complete and accepted. The 2026 record is one continuous point-in-time V5 record from Week 0 (record methodology); six slates are not a prelaunch requirement. V4 is historical evidence, documented in the V4 retrospective, and is no longer an operational model.
The weekly runbook is the sole operational authority. build_season_revision.py produces pinned inputs; run_season.py prepare recomputes and verifies the season; run_season.py release stages and atomically activates its serving projections. Preview rehearsal is mandatory before Production activation. Rollback reactivates a prior verified V5 season release through the owner credential. Legacy publish/freeze/close commands refuse execution.
Revision manifests and score exceptions must be committed before preparing from a clean tree. Do not commit between prepare and the last release: release requires the exact prepared commit. Production activation and all git commits remain owner-controlled.
verified football data → validated measurements → opponent adjustment
→ continuous team ratings/state → spread/total forecast
→ point-in-time evaluation → timestamped line comparison
V5 Blitzkrieg is the only operational model. Research uses 2015–2019 and 2021–2025 as development evidence and excludes 2020. Market lines enter only after football forecasting. Research remains isolated from serving and publication until separately promoted; betting decisions are deferred. Started and reconstructed games remain visible on the Games tab because forecasts use pre-cutoff observations; grades use the best eligible pre-kickoff quote under the record methodology.
uv sync
npm --prefix web install
make help # every available target
make check # mirrors CI: ruff, contracts, quality registry, pytest, mkdocs --strict, web lint/typecheck/tests/build
The web app has four tabs: Games, Ratings, Graphs and Model. See web development.
Use CFB_STORAGE_BACKEND=r2 with the intended environment wrapper for lake operations. The local backend requires CFB_STORAGE_BACKEND=local and an accessible external CFB_MODEL_DATA_ROOT; never create repository-local ./data/. Credentials come from the Keychain wrappers and must not appear in logs. See web development and the quickstart.
CI runs Ruff, contracts, the data-quality registry check, strict MkDocs, Python tests with a 60% coverage gate (including rating-publication and database suites) and the web checks. Database tests use disposable PostgreSQL instances; never point TEST_DATABASE_URL at a serving database. V4 is documented only in the retrospective.