NBA Feed
Your teams' news and games, with scores hidden until you reveal them.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live: https://surf-windows.vercel.app · Subscribe: https://surf-windows.vercel.app/feed.ics
Built in one afternoon with Claude Code, with 56 offline tests. The spec is in CLAUDE.md, and every decision is logged in DECISIONS.md.
Good surf is a rare alignment: waves from distant storms have to arrive alongside the right tide, wind, daylight and a few rain-free days. Surf Windows finds the hours at Pleasure Point, Santa Cruz, when they all line up, and puts them on your calendar as a live feed that updates with the forecast, so you can plan meetings and dinners around good surf.
Good surf needs five things to line up at once, and each changes on its own clock:
| Condition | Why it matters | Changes over |
|---|---|---|
| Waves | Energy from storms far out at sea. Too small is flat, too big is dangerous. | Days |
| Tide | Too high and the waves don't break well at this spot. | Twice a day |
| Wind | Calm wind keeps waves smooth; wind blowing onshore makes them choppy. | Hours |
| Rain | Runoff carries bacteria into the water; health officials advise waiting 72 hours. | Days |
| Daylight | You need to see. | Every day |
Forecast apps show the conditions, but I still had to check every day and work out when I was free. Surf Windows turns the forecast into calendar time.
Open-Meteo (swells, wind, rain) ─┐
NOAA (tides) ────────────────────┼─> score hours -> merge windows -> page (/) + feed (/feed.ics)
astral (sunrise, sunset) ────────┘
Set in config.yaml. The Pleasure Point settings:
spot:
high_tide_ft: 4.2 # tide reaching this is too high
ideal_tide_ft: 3.7 # staying below this is ideal
preferences:
size: {knee: skip, waist: ok, chest: fav, head: fav, overhead: ok, way_over: skip}
warn_sizes: [overhead] # 5–7 ft is okay, with a big-wave warning
tide: {low: ok, mid: ok, high: skip}
wind: {glassy: fav, light: ok, windy: skip}
rain: {skip_after_hours: 72, threshold_in: 0.1}
daylight: {before_sunrise_min: 60, after_sunset_min: 60}
Sizes use Surfline-style feet: knee 1–2, waist 2–3, chest 3–4 (Surfline's "waist to shoulder"), head 4–6, overhead 5–7, and way over 6–8 and up, which is a no-go.
pip install -r requirements.txt
pytest # offline, against tests/fixtures/
python scripts/record_fixtures.py # refresh the fixtures from the live APIs
vercel dev
Weather data by Open-Meteo.com. Tide predictions from NOAA CO-OPS. Built with Claude Code.