DEV Community

Defer
Defer

Posted on • Originally published at defer.run

Introducing Defer: A Zero Infrastructure background jobs Node.js platform

Hi dev.to community 👋

I am Charly, co-founder of Defer, a Zero Infrastructure Node.js background jobs platform.
I've been previously working at Algolia and doing open-source with The Guild.

As all of you, Bryan - my cofounder, and I experienced over the years how modern web apps must be performant while being integrated with many 3rd party APIs.
Such requirements make background jobs an essential part of modern Node.js technical stacks.


Still, while the Node.js developer experience improved in recent years
(building and deploying Serverless applications with Vercel, scaling your database with Supabase, or setup a robust logs stack with Logtail), the experience remained the same around background jobs.

Today, working with background jobs requires developers to do some infrastructure work (either on AWS SQS or at least set up a Redis and workers)
and deal with queueing libraries that come with a dedicated mental model to learn and boilerplate code to write.

Finally, operating background jobs in production, at scale, often require more infrastructure work and building internal dashboards
to better support customers (ex: "Find jobs that failed for user#1234" is a tricky task with existing queueing dashboard).

We believe that background jobs play an important part - as important as running API close to end-users (on edge) - to build swift user experiences.
For this reason, working with background jobs should be as simple as building Serverless apps with Vercel
or scaling a database with Supabase.


Defer fill that gap by bringing a zero infrastructure approach and full-featured API and dashboard with
configurable retries, throttling, concurrency, support for multiple environments, alerting, and more.

We hope Defer will enable all JavaScript and TypeScript developers (front-end and back-end developers) to build powerful applications faster.

Introducing: Defer 1.0 RC

Background functions

Defer comes with a Zero-API approach that makes it easy to create or transform existing functions into background functions (function version of a background job) without the usual distracting boilerplate code (queues, workers) that current solutions bring:

import { defer } from "@defer/client"

const importContacts = () => {
  // ...
}

export default defer(importContacts, {
  retry: 2,
  concurrency: 1
})
Enter fullscreen mode Exit fullscreen mode

The same developer experience applies to Delayed Functions, CRON, and Workflows

Zero-infrastructure, full scale.

Defer's infrastructure then handles background function executions with the configured parallelism and retries, without infrastructure work or DevOps knowledge.

Defer Dashboard

More information on Builds, Executions and Limits.

Defer Dashboard: productivity at your fingertips.

The Defer Dashboard allows you to manage applications with multiple environments and get a sense of their product's health with analytics and filters-rich executions list view:

Defer Dashboard

Finally, you get notified on Slack upon failure and quickly access the execution's logs and business metadata to narrow down the issue and keep users in the loop.

We are happy to open Defer to all users, with a generous free Hobby plan - no credit card required, that fits perfectly for personal projects and solo founders!

We would love to get feedback from the community 👀

Top comments (0)