Automated Biweekly LeetCode Study Reports
This repository tracks Moo & Ryu’s progress on LeetCode,
automatically generating biweekly reports of solved problems,
with results shared to both Discord and GitHub.
- LeetCode API Integration
- Powered by the Docker image
alfaarghya/alfa-leetcode-api:2.0.1
to fetch submission data
- Powered by the Docker image
- Bun-based Scripts
scripts/run-biweekly.ts
aggregates problem-solving activity over 2 weeks
- Automated Workflow
- GitHub Actions (self-hosted runner)
- Runs daily at 10:00 KST, with an internal gate to ensure reports are only generated every 14 days
- Result Management
- Markdown reports are auto-committed into the
reports/
folder - Discord notifications via Webhook
- Markdown reports are auto-committed into the
.
├── reports/ # 📊 Auto-generated reports
│ ├── 2025-09-13.md
│ ├── 2025-09-27.md
│ └── ...
├── scripts/
│ ├── run-biweekly.ts # Main reporting script
│ ├── biweekly_gate.mjs # 14-day gating logic
│ └── ...
├── src/ # TypeScript source
│ ├── api/ # API client
│ ├── jobs/ # Aggregation logic
│ ├── types/ # Type definitions
│ └── utils/ # Utilities
└── .github/
└── workflows/
└── biweekly-leetcode.yml # GitHub Actions workflow
docker run -d --name leet-api -p 3000:3000 alfaarghya/alfa-leetcode-api:2.0.1
bun scripts/run-biweekly.ts
- Workflow:
.github/workflows/biweekly-leetcode.yml
- Schedule: Daily at 10:00 KST
- Gate step (
biweekly_gate.mjs
) ensures exact 14-day intervals
Variable | Description | Example |
---|---|---|
API_BASE |
Base URL for LeetCode API | http://localhost:3000 |
USERS |
User IDs (comma-separated) | moo,ryu |
DISCORD_WEBHOOK_URL |
Discord Webhook URL | (stored as Secret) |
TARGET_2WEEKS |
Goal for problems solved in 2 weeks | 10 |
TZ |
Timezone | Asia/Seoul |
DEDUPE_MODE |
Deduplication mode | WINDOW_UNIQUE |
Secrets are stored in GitHub Repository Settings → Secrets and variables → Actions.
- The latest reports are available in the reports/ directory.
- Each report file is named
YYYY-MM-DD.md
.- Example: 2025-09-13.md
- Built for personal study purposes
- Contributions are limited to Moo & Ryu
- License: MIT