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.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
🇮🇳 Chak De India — Asian Games 2026
Follow the Asian Games through India's eyes: the medal table, what's still to come, and the news that matters, all in one place.
Most medal tables treat India like any other country, and the news is scattered across a dozen sites. This page is made for supporters. India is always highlighted, you can see which medals are still possible today and tomorrow, and the latest India headlines sit right next to the tally.
It answers the questions Indian fans actually ask during the Games:README 전문 보기 ↗Follow the Asian Games through India's eyes: the medal table, what's still to come, and the news that matters, all in one place.
Most medal tables treat India like any other country, and the news is scattered across a dozen sites. This page is made for supporters. India is always highlighted, you can see which medals are still possible today and tomorrow, and the latest India headlines sit right next to the tally.
It answers the questions Indian fans actually ask during the Games:
The first thing visitors see: a cheering hero, days left, India's medals today and a one-tap link to the forecast.
India is always highlighted and pinned above the table. Open any country to see its medals by sport, athlete and date.
Every event where India can still win a medal, rated High, Medium or Long shot, with a short reason.
India stories first, plus a tab for the rest of the Games.
Built to work on a phone, since that's where most people follow the Games.
The forecast is the heart of the site. It looks at the events India is still in and tells you what to watch.
How to use it
What the ratings mean
Each card explains the call in a sentence or two. The reasons are written by an AI, and it never adds events or athletes of its own. It only works from the schedule we give it. It's for fun, not an official prediction, and the page says so.
The site updates itself every 20 minutes or so, so you don't need to refresh the data. Medals and news come from public sources, and if a source is down, the last good data stays on screen, so the page never goes blank.
Keep in mind that it can trail the live results a little: Wikipedia editors and news sites take time to update, so expect a delay of up to an hour on busy days. The "Last updated" time in the footer shows when the data was last fetched.
You need Node.js 22 or newer.
git clone https://github.com/iiabhi/asian-games-forecast-generator.git
cd asian-games-forecast-generator
npm install
cp .env.example .env.local # then fill it in (see below)
npm run dev # opens at http://localhost:3000
In .env.local you'll need:
| Setting | What it is |
|---|---|
WIKI_USER_AGENT | A short label with your email, e.g. ChakDeIndiaTracker/1.0 ([email protected]). Wikipedia asks for this. |
LLM_API_KEY | A free Gemini API key from Google AI Studio, used for the forecast. |
REFRESH_TOKEN | Any long random password, only needed to trigger refreshes by hand. |
.env.local is never uploaded to GitHub.
Update the forecast
data/india-remaining.json (event, date in Japan time, who's competing, stage)."result": { "medal": "silver" }. Use gold, silver, bronze or none.npm run refresh:forecast.Other useful commands
npm run refresh # fetch the latest medals and news now
npm test # run the checks
Next.js 15 (App Router), TypeScript, Tailwind CSS, zod for validation, Google Gemini for the forecast text.
| Data | Source | Command | Saved to |
|---|---|---|---|
| Medal table and India's medalists | Wikipedia API | npm run refresh:medals | data/medals.json |
| News | Google News RSS (India and global editions) | npm run refresh:news | data/news.json |
| Forecast | Gemini, fed by data/india-remaining.json | npm run refresh:forecast (-- --dry previews the prompt) | data/forecast.json |
Everything is checked before it's saved, and written safely, so a failed fetch or a bad AI reply never overwrites good data. Gemini only judges the likelihood, the medal and a short reason for each event. The event names, athletes and dates always come from your schedule file, and code enforces the rules, such as dropping past events and only allowing "High" when a medal is guaranteed.
Vercel's disk is read-only and it can't keep a timer running, so on Vercel the data is stored in Vercel Blob and a scheduled job calls /api/refresh.
WIKI_USER_AGENT, REFRESH_TOKEN and LLM_API_KEY..github/workflows/refresh.yml). Add two repository secrets: REFRESH_TOKEN (same value as on Vercel) and SITE_URL (your site address, no trailing slash).data/india-remaining.json, push (Vercel redeploys with the new schedule), then run curl -H "Authorization: Bearer $REFRESH_TOKEN" "$SITE_URL/api/refresh?only=forecast". The forecast is not part of the 20-minute refresh because it uses the Gemini quota.Locally, npm run dev also refreshes by itself every AUTO_REFRESH_MINUTES (default 20; 0 turns it off).
app/ pages (home, forecast, news) and /api/refresh
components/ leaderboard, rows, India tag, forecast and news cards
lib/ data access, ranking, validation, and the refresh code
data/ the JSON files the site reads
prompts/forecast.md the forecast prompt
scripts/ refresh commands and tests
Jai Hind! 🇮🇳