GoSki
A ski tracker that names every run, 3D trail maps of 43 resorts, snow forecasts and Real Time lift alerts.
Plan your viewing day: what's on, when, and where to watch it where you live.
Sports & fitnessTypeScript · JavaScriptGitHub @Jbuck1016OnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plan what you're watching. Pick games across 12 leagues, mark each as must-watch or want-to-watch, and Game Day lays them out on a timeline with where each one airs in your area, which services you need, and how to split overlaps across a multiview.
Next.js 15 (App Router) + TypeScript, Tailwind v4, postgres.js against Supabase (gameday and gameday_site schemas), next/og for share cards. Listings are ingested every few hours by a Supabase edge function from ESPN's public scoreboard data and mapped to live TV services (YouTube TV, Fubo, Hulu + Live TV) and streaming apps.
npm install
npm run dev
With no database credentials the app runs on a bundled snapshot of the weekend of 24 October 2026 (GAMEDAY_FIXTURES=1 forces this).
| Variable | Purpose |
|---|---|
GAMEDAY_DB_USER | Pooler login, gameday_web.<project-ref> |
GAMEDAY_DB_PASSWORD | Password for that role |
GAMEDAY_DATABASE_URL | Optional. Full connection string, overrides the two above |
IP_HASH_SALT | Optional. Salt for rate-limit hashing |
GAMEDAY_FIXTURES | 1 to use the snapshot instead of the database |
NEXT_PUBLIC_EMAIL_SIGNIN | 1 to show email-link sign-in (needs custom SMTP in Supabase Auth) |
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Optional overrides for sign-in; defaults point at the project |
The gameday_web role can read listings, write shared plans, zip lookups, usage events and calendar feeds, read and write signed-in users' saved settings, and call one account-deletion function. Nothing else, and nothing in Partner Ledger's tables.
npm test # unit: scheduling, overlaps, service cover, multiview, DST, contrast
npm run e2e # Playwright against the snapshot
npm run typecheck
End times are estimates by sport. Premier League US channels are announced late, so most show as likely until about a week out. Regional network coverage depends on your provider; the app says so where it matters.