| I architected a GitHub streak notification service that scales to 10,000+ users while staying on free tiers. Here's the infrastructure design and cost optimization strategy. Production: https://streakyy.vercel.app
GitHub: https://github.com/0xReLogic/Streaky
Architecture: Open source, MIT license === Architecture Overview === Challenge: Build a daily cron system that processes 10k+ users in parallel, sends Discord/Telegram notifications, stays within Cloudflare free tier limits, maintains 99.9% uptime, and costs $0/month. Solution: Distributed queue system with Service Bindings + Rust proxy for IP isolation === Infrastructure Design === 1. Distributed Processing (Cloudflare Workers) Problem: Sequential processing doesn't scale. Single Worker has 30s CPU limit. Solution: Fan-out architecture with Service Bindings
- Main scheduler initializes batch queue
- Dispatches N workers via env.SELF.fetch()
- Each worker = isolated execution context with fresh CPU budget
- Automatic load balancing by Cloudflare Capacity: 100k requests/day (10k users = 10% utilization)
Performance: 10 users in ~10 seconds, linear scalability 2. Queue Management (Cloudflare D1) D1 SQLite with atomic operations for distributed queue without external dependencies. Benefits: Atomic claim, no race conditions, built-in idempotency
Capacity: 50k writes/day (30k used = 60% utilization) 3. IP Isolation Layer (Rust VPS) Problem: Cloudflare Workers share IP pools → rate limiting (429 errors) Solution: Lightweight Rust proxy on Koyeb
- Axum framework
- AES-256-GCM encryption
- Stateless, zero-trust architecture
- Cold start ~10s, warm ~3.6s
- 100% success rate Cost: Koyeb free tier (512MB RAM) - $0/month 4. Data Layer (Cloudflare D1) Schema: users, notifications, cron_queue
Capacity: 5GB storage (10MB used = 0.2%) === Cost Analysis === Current (10k users): $0/month
- Cloudflare Workers: 10k/100k req/day
- D1: 30k/50k writes/day
- Koyeb: ~1GB/100GB bandwidth
- Vercel: ~5GB/100GB bandwidth 50k users: $10/month ($0.0002/user)
- D1: $5/month, Koyeb: $5/month 100k users: $25/month ($0.00025/user)
- Workers: $5, D1: $10, Koyeb: $10 Total Cost: $0/month for 10k users Happy to discuss infrastructure decisions, scaling strategies, or cost optimization techniques. |