尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
California marine beach health forecast platform focused on daily enterococcus risk for surfers and beachgoers.
This public repository holds the open-source ML pipeline + research methodology.
The consumer-facing web and mobile apps live in private repositories:
Open-core rationale: the science is reviewable so users, journalists, and partners can trust the forecast. The brand, UX, and operational artifacts that constitute the competitive surface live behind the private repos. See docs/REPO_RESTRUCTURE.md.檢視完整 README ↗California marine beach health forecast platform focused on daily enterococcus risk for surfers and beachgoers.
This public repository holds the open-source ML pipeline + research methodology. The consumer-facing web and mobile apps live in private repositories:
| Surface | Source | Status |
|---|---|---|
| Backend API + ML pipeline | This repo (AGPL-3.0) | Public, reviewable |
| Web app (Next.js → GitHub Pages) | kylechoi101/shorelife-web | Private |
| Mobile app (Expo → iOS + Android) | kylechoi101/shorelife-mobile | Private |
Open-core rationale: the science is reviewable so users, journalists, and partners can trust the forecast. The brand, UX, and operational artifacts that constitute the competitive surface live behind the private repos. See docs/REPO_RESTRUCTURE.md.
backend/: Python FastAPI service, ingestion pipelines (BeachWatch, CEDEN, Stormwater), feature engineering, model training, and tests.scripts/: Reproducible research scripts (per-station residual benchmarks, Wikimedia photo curation, hourly weather refresh, etc.).data/curated/: Schemas and small samples. The production serving.sqlite artifact is served from Render at runtime.docs/: Methodology, model card, outreach kit.The backend requires Python 3.12.
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,training]"
To run the API locally:
uvicorn app.main:app --reload
To run a daily training pass:
python -m app.ml.training --curated --winner-only \
--spatial-backtests --spatial-strategy shortlist \
--training-window-days 365 --forecast-min-recency-days 45 \
--forecast-date "$(TZ=America/Los_Angeles date +%Y-%m-%d)"
.github/workflows/daily-forecast.yml runs daily at 9 AM PT and:
serving.sqlite)data/curated/, triggering an automatic Render redeployThe full methodology, calibration metrics, known failure modes, and citations are in data/curated/model_card.md. System health and live metrics are available at https://surf-health-api-aabr.onrender.com/system/health.
GNU Affero General Public License v3.0 — see LICENSE.
You're free to use, study, modify, and redistribute this code. The AGPL's network-clause means: if you run a modified version of Shorelife as a network service, you must offer the source of your modifications to your users. Pure local use or unmodified deployment imposes no obligation.
If the AGPL doesn't fit your use case (e.g., you want to ship a closed commercial fork), reach out — a commercial license is available.
Found a vulnerability? See SECURITY.md for the disclosure policy. Don't open public issues for security topics — email [email protected] directly.