Pinned Tweet
My previous load tests weren't giving me the results I expected with a single worker.
Today, I ran multiple BullMQ workers horizontally in Hookkeeper, and the 50K-request test went much better!
Managed to get it working on free-tier resources too. Pretty happy with this one!
Earlier, one worker left a big backlog.
I set BullMQ concurrency to 50 and ran multiple worker instances on the same queue. The Redis Lua token bucket still limits each destination, so adding workers doesn't bypass rate limits.
The latest run drained the backlog much faster.
here is the project link: github.com/rhittik12/hookkee…
I am delighted to announce that I am joining Pornhub as a Software Engineer!
Looking forward to contributing to exciting projects, collaborating with talented individuals, and building impactful solutions.
#NewBeginnings #SoftwareEngineering 🚀
i’ve seen people announce their new jobs at Google, Microsoft, Amazon and pretty much every big tech company.
but i’ve never seen anyone post:
“delighted to announce that i’m joining Pornhub as a Software Engineer.” 😭
Building Hookkeeper, a webhook delivery system with Next.js, BullMQ, Redis and PostgreSQL.
Added retries, idempotency, per-destination token-bucket rate limiting and HMAC signing.
Ran a 50K-request load test and found bottlenecks to fix before deployment.
I was using Upstash's free tier and hit its 500K Redis request quota much sooner than expected.
The 50K-request test couldn't fully complete. Now I'm investigating Redis usage and the queue backlog before trying again.
here is the project link: github.com/rhittik12/hookkee…
Any suggestions are welcome. 🙌
Made some progress on Hookkeeper today.
Load-tested it with 50K requests, explored delivery statistics in Neon, and ran into Upstash's 500K request limit
Now figuring out the deployment setup for the BullMQ worker and public webhook destinations
Still a few things to iron out!
Today I learned something new while exploring retries and rate limiting in my webhook system.
When many failed jobs retry at once, they can overload a service. That's the thundering herd problem.
Jitter adds randomness to retry delays, spreading the load over time.
why the hell is auto-scroll still not available on Instagram for iPad, @instagram ? 😭
it's 2026. how am i still manually scrolling reels?






