
RacingDay 係一個獨立嘅賽事搜尋器(one stop race finder),收錄香港、中國大陸同亞太地區嘅越野跑、路跑同三鐵賽事。 呢頁講清楚我哋嘅目標、想解决咩問題、啲資料係邊度嚟、AI Agent 點樣運作、邊啲數字係我哋自己計, 同埋有咩限制。
做呢個地區嘅一站式賽事搜尋器(one stop race finder)。
唔使再開十幾個網站、對十幾個日曆 —— 一個地方,睇齊香港、中國大陸同亞太嘅越野跑、路跑同三鐵賽事。
仲有——推廣呢個地區嘅運動賽事,令喺度搞嘅比賽(尤其係地區性、獨立主辦嘅)唔會因為冇宣傳而被埋沒。
點解要做:呢個地區嘅賽事資料散落喺幾百個唔同嘅主辦單位網站、社交平台同報名平台, 語言又混雜(繁體、簡體、英文)。跑手想搵一場比賽,通常要面對三件事:
Pak Tam Chung,反之亦然。圍繞「一站式」呢個目標,我哋專注做兩件主要嘅事:
Pak Tam Chung 都會中。一個地區嘅賽事生態要健康,唔止要跑手搵到比賽,仲要比賽有人識、有人報。 所以我哋仲有一個目標:幫呢個地區嘅賽事被更多人見到。
/race/<slug>/)
同結構化資料,令搜尋引擎同 AI 助理讀得到、索引得到 —— 唔係困喺一個要用 JavaScript 打開嘅單頁入面。現時已經做到:全區賽事索引、多語言搜尋、日曆同篩選、每場獨立資料頁、 路線剖面、主要爬坡段同最斜路段、配速估算、地圖連結、搜尋引擎可收錄嘅結構化資料。
逐步加入:把賽事數據再延伸去行程規劃 —— 住宿位置、交通接駁、比賽日時間安排; 同埋更多令地區賽事被見到嘅方法。
呢度所有內容都係由公開資料整理而成:
我哋同任何主辦單位都冇任何合作、授權、贊助或資料協議。刊登嘅只係事實性資料 —— 名稱、日期、地點、距離組別、報名狀態,同一條去官方頁嘅連結。
呢個網站 —— 前端介面、資料管線、路線分析、自動化,同日後嘅日常維護 —— 由一個 AI Agent 同網站負責人一齊做出嚟。呢一點我哋覺得應該公開講清楚, 因為佢直接影響你點理解呢度嘅資料。
一句講:人決定「做咩同好唔好」,AI Agent 負責「點做同做完未」。
有公開路線檔嘅賽事,分析頁上面嘅數字係我哋自己計嘅,唔係主辦單位公佈嘅:
因為有平滑同近似,我哋嘅數字同官方公佈可能相差約 1–3%。
/race/<slug>/,有事實資料、路線剖面同官方連結。10 km/10K 兩種距離寫法。呢一節我哋想你認真睇 —— 我哋唔想你有錯誤期望。錯誤可以喺好多層出現, 而且每一層都會傳落下一層:
所以我哋冇辦法保證任何一個數字、任何一條路線、任何一個日期係完全正確。 呢個索引係搜尋同研究工具,唔係權威紀錄。
報名前一定要睇官方公佈;路線以主辦單位最終公佈為準。 呢度嘅資料唔應該當作你訓練或者比賽決定嘅唯一依據。 因使用本頁資料而引致嘅任何損失、受傷或不便,我哋概不負責。
如果你發現我哋有錯,請話我哋知(見最後一節)—— 我哋會查同改。
主辦單位或權利人想更正、更新或移除任何資料,電郵 racingdaygpx@gmail.com,我哋會喺 24 小時內處理。 同一個電郵亦開放俾任何發現錯漏、或者想建議加賽事嘅人。
1. Our goal. To be the region's one stop race finder — one place that
covers trail running, road running and triathlon across Hong Kong, Mainland China and the wider
Asia-Pacific, so nobody has to open a dozen websites and reconcile a dozen calendars. Race
information here is scattered across hundreds of organiser sites, social platforms and entry
platforms in mixed languages, and runners face three problems: they have to check platform by
platform to reconcile dates, distances and entry status; they cannot see the course before
entering; and Chinese and English searches do not talk to each other. Two main functions follow
from that goal. Function 1 — choose and plan races more easily: one search box plus a
calendar and filters (year, month, discipline, region); a search that understands traditional and
simplified Chinese, Hanyu Pinyin, Cantonese Jyutping, English place names and common event
abbreviations; one page of facts per race (date, location, distance categories, elevation, entry
status, official link); and side-by-side comparison so an athlete can plan a whole season — which
race is the goal, which is a warm-up, which ones clash. Function 2 — GPS course analysis for
effort insight and preparation: where a public route file exists we compute distance, total
climb, major climbs, steepest sections and pace estimates (Minetti 2002 model), so you know what
the race will actually demand of you rather than just a headline distance; that feeds training
preparation (how much climbing to train, how to plan fuelling, what finish time is realistic,
whether to arrive early to acclimatise) and trip preparation (where to stay relative to the start,
transport connections, race-day timing) — the trip side is being added progressively.
Function 3 (a further goal) — promote sport races around the region: a healthy race
scene needs more than runners finding races; the races themselves need to be found and entered.
So every race — international or small regional event — is listed by the same standard in the
same place, and there is no paid promotion or paid placement; whether you are visible
here is never decided by money. Each event gets its own page
(/race/<slug>/) with structured data so search engines and AI assistants can
read and index it, rather than being trapped inside a single JavaScript-only page. Cross-language
search means a Cantonese-speaking runner, a Mandarin-speaking runner and an international runner
all find the same race, so no event loses a whole group of potential entrants to a language
barrier. We are most useful to smaller, independently organised races that would otherwise go
unnoticed. What we will not do: sell rankings or placement, or alter data, ratings or ordering
because of any partnership. It is not an entry platform, it charges nothing, it sells no data,
and it does not try to be the authoritative record — the organiser's own page always wins.
2. Where the information comes from. Everything on this site is compiled from publicly available information: official organiser websites and official social accounts, public race calendars and public entry platforms, public web search results, and route files or corrections submitted by the running community. We have no partnership, licence, sponsorship or data agreement with any organiser. What we publish is factual event data — name, date, location, distance categories, entry status and a link to the official page.
3. How the collection works. An AI agent runs on a two-week cycle: it reads the public sources, proposes candidate events and normalises each one into a fixed schema. Candidates are then matched against the existing index — an event already present (same race, same date) is updated in place, never duplicated, even when public sources describe it differently. Region and discipline are assigned so events land in the right filters, and anything that cannot be classified or matched confidently is left out or flagged for manual review rather than guessed at.
4. How this website was built with an AI agent. The site — front end, data pipeline, course analysis, automation and ongoing maintenance — is built by an AI agent working with the site's owner. The division of labour is simple: the human sets direction, standards and decisions and gives final sign-off; the AI agent writes the code, runs the tests, deploys, investigates root causes and keeps the project log. In practice that means: a framework-free static front end on a global CDN; a structured data layer so search and filtering happen in your browser; scheduled jobs at different rhythms (race data every two weeks, traffic statistics hourly, a system health report each morning); course analysis computed from public route files; headless-browser testing on desktop and mobile viewports for every change, with a zero-JavaScript-error standard, plus human review for significant changes; automatic deployment with a cache version bump; and a written knowledge base so the same mistake is never made twice. The practical consequence for you: the data is machine-gathered, not hand-checked race by race, so it can lag or contain errors — and where a record cannot be matched or read confidently, we leave it out rather than invent a number.
5. What we deliberately do not do. We do not copy or re-host organiser content — no logos, photographs, article text, maps or route files; where a route file exists we link to the official file, which stays on the organiser's own server. We do not present entry fees or terms as if they were ours. We do not invent events that cannot be traced to a public source. We collect no personal data and set no tracking cookies.
6. Route profiles and course analysis. Where a public route file exists, the numbers are our own calculations: distance is summed point-to-point using the Haversine formula; elevation gain is computed after smoothing to suppress GPS noise; a major climb is a continuous ascent of at least 600 m horizontal length and at least 40 m of gain (both conditions required, a cumulative drop of more than 6 m ends the segment); pace estimates use the Minetti (2002) energy-cost model, with uphill capped at 60% grade and downhill at 25% faster. Because of smoothing and approximation, our figures can differ from the organiser's published numbers by roughly 1–3%.
7. How the index is organised. One page per event at /race/<slug>/.
Search understands traditional and simplified Chinese, Hanyu Pinyin, Cantonese Jyutping, English
place names, common event abbreviations, and both 10 km and 10K style
distance writing. Filters by year, month, discipline and region.
8. Accuracy and limits. Please read this section carefully — we would rather set expectations honestly. Errors can occur at several layers, and each layer feeds the next: (1) the public source itself — race dates, courses, distances, entry status and fees can change, be postponed or be cancelled at any time, and an organiser's own public announcement can be wrong, out of date, or exist in several versions; (2) the route file (GPX) — most route files we use are submitted by the running community and are not necessarily the organiser's final version; the course may be re-routed, temporarily closed or adjusted, and the file itself may contain GPS drift, missing segments, duplicate logging, or even last year's route; (3) the course analysis — elevation profiles, distances, climb segments and pace estimates are all computed from that file, so any problem in the file carries straight into the numbers; (4) the AI agent and its tools — collection, matching, normalisation and analysis are performed by an AI agent, and automated processes and the tools they use can be wrong: parsing failures, matching a race to the wrong event, miscalculated values, or updates that were simply missed — "a machine did it" is not a guarantee of accuracy; (5) human review — significant changes get a human check, but a human can also miss something or judge it wrongly; human review is an extra layer, not a guarantee. We therefore cannot guarantee that any number, any route or any date is entirely correct. This index is a discovery and research tool, not an authoritative record. Always confirm on the official page before you enter, and treat the organiser's final published route as authoritative. Nothing here should be your only basis for a training or racing decision. We accept no liability for any loss, injury or inconvenience arising from use of this index. If you spot an error, please tell us (see the last section) — we will investigate and correct it.
9. Corrections and removal requests. Organisers and rights holders: email racingdaygpx@gmail.com and we will act within 24 hours. The same address is open to anyone who spots an error or wants to suggest an event.