Show: Streaky - Never lose your GitHub streak again #177739
Replies: 2 comments
-
|
This is genuinely one of the most refreshing open-source projects I’ve come across in a while. The way you handled the Cloudflare CPU limit with distributed Workers was not just smart... it was the kind of creative engineering that comes from actually understanding the system, not just working around it The Rust proxy solution really stood out too. It’s such a clean way to sidestep IP blocking while keeping everything encrypted and secure, and I love that you didn’t compromise on privacy. Seeing someone combine Workers, D1, and Rust so cohesively, and especially on free tiers, that shows not only technical depth but also real discipline in architectural design Honestly, this feels like one of those projects that remind you how fun and rewarding small, purposeful engineering can be. I ended up giving it a star on GitHub right after checking it out, and I’m pretty sure I’ll be using Streaky myself. |
Beta Was this translation helpful? Give feedback.
-
|
@AlbuquerqueLM Thanks so much for the kind words! Really appreciate you taking the time to check out the code. The CPU limit workaround was definitely a "necessity is the mother of invention" moment. Hit that 30-second wall hard during testing and had to get creative with the Service Bindings approach. The Rust proxy was actually born out of frustration after getting rate-limited for the 50th time. Turns out shared IPs and aggressive rate limiting don't mix well. But hey, at least it forced me to learn Rust properly. Glad you found it useful! If you end up using it, would love to hear any feedback or issues you run into. Always looking to improve it. Thanks for the star! 🙏 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Show & Tell
Body
Hey GitHub Community, ✋
I built Streaky, an open-source service that monitors your GitHub contribution streak and sends you notifications when you haven't committed yet.
The Problem
I kept losing my GitHub streak on busy days. Existing solutions were either:
So I built Streaky to solve this.
Features
The Technical Challenge
What started as a "simple weekend project" turned into solving some interesting distributed systems problems:
1. Cloudflare CPU Limits
Workers have a 30-second CPU time limit. Processing users sequentially hit this limit fast.
Solution: Distributed processing with Service Bindings. Each
env.SELF.fetch()creates a new Worker instance with fresh CPU budget. Now 1000+ users process in parallel.2. IP Blocking (429 Errors)
Cloudflare Workers share IP pools. Discord/Telegram APIs detected this and rate-limited aggressively.
Solution: Built a lightweight Rust proxy on Koyeb with a clean, dedicated IP. Workers send encrypted credentials to the proxy, which decrypts and forwards to Discord/Telegram. 100% success rate since deployment.
3. Race Conditions
Multiple Workers trying to claim the same user from the queue caused duplicates.
Solution: Atomic queue operations in D1 using
CTE + UPDATE + RETURNINGin a single transaction. No more race conditions.Tech Stack
Total cost: $0/month (all free tiers)
Performance
Links
Would Love Your Feedback
This is my first production app using Cloudflare Workers. I'd love to hear:
Thanks for checking it out.
Beta Was this translation helpful? Give feedback.
All reactions