A personal cycling training platform. The Coach (a VS Code Copilot agent) writes structured training plans as Markdown files in plans/. A static website reads those files directly from GitHub and displays them in calendar and list views with category filters. The athlete adds notes and feedback through the website, which commits back to the repo via GitHub API.
No backend server. No database. The repo is the database.
| Layer | Technology |
|——-|———–|
| Frontend | React 18 + TypeScript + Vite (static site) |
| Data | Markdown plan files in plans/ (YAML frontmatter + Markdown) |
| Data access | GitHub API (read plan files, commit athlete notes) |
| AI Coach | VS Code Copilot agent (.github/agents/coach.agent.md) |
| Calendar | FullCalendar React wrapper |
| Styling | CSS custom properties (dark theme) |
| State | React hooks + fetch |
| Hosting | Static site (GitHub Pages, Vercel, or Netlify) |
plans/TEMPLATE.md)plans/week-2026-04-13.md).github/copilot-instructions.md)