| 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! |