Show HN: Streaky – GitHub Streak Monitor with Distributed Cron Processing

github.com

1 points by 0xrelogic 2 days ago

Hi HN! I built Streaky to solve a personal problem - I kept losing my GitHub streak on busy days. It monitors your contribution streak and sends notifications to Discord/Telegram before it breaks.

What makes it interesting technically:

1. Distributed Cron Processing: Used Cloudflare Service Bindings to bypass the 30-second CPU limit. Each user gets processed in an isolated Worker instance with its own CPU budget.

2. Idempotent Queue System: D1-based queue with atomic operations prevents duplicate processing when cron jobs overlap or retry.

3. Zero-Knowledge Security: GitHub tokens never stored (OAuth refresh flow), webhooks encrypted with AES-256-GCM, notifications sent via isolated Rust proxy.

4. Rate Limit Solution: Cloudflare Workers use shared IP pools which trigger rate limits from Discord/Telegram. Solved by routing notifications through a dedicated Rust server on Koyeb.

Tech Stack: - Frontend: Next.js 15, React 19, TypeScript - Backend: Cloudflare Workers + D1 (SQLite) - Infrastructure: Rust notification proxy - Auth: GitHub OAuth via NextAuth.js v5

Live demo: https://streakyy.vercel.app

The project is fully open-source under MIT license. Happy to answer any questions about the architecture or implementation