All projects
backend apis
A job queue with retries and dead letters
Background work that survives crashes, retries with backoff, and never silently loses a job.
Why it matters
Every real backend has background work, and most of the outages come from it. Knowing why a job must be idempotent is a senior-sounding answer you will actually have earned.
What you build
- A durable queue backed by the database
- Exponential backoff with jitter
- A dead-letter queue for what will never succeed
- Idempotent handlers proven by a test
If you want more
- Add priority lanes
- Add a admin view of stuck jobs
Build it
In-memory queues lose work. That is the whole point of this project.
- Give up after N attempts and record why
Material for the whole build
Shows you can build systems that fail safely, which is what separates a service from a script.
Get a plan built around projects like this