DEV Community

Dominic Rockson
Dominic Rockson

Posted on

Install the backend instead of provisioning it

The first thing I do on a new side project used to be the most boring part: provision the backend. Spin up a database, set up auth, add a queue for background work, find somewhere for file uploads, wire up mail, figure out where realtime lives. A week of infrastructure before the first feature.

Yatta JS flips that order. You don't provision a backend — you install one:

npm i yatta.js
Enter fullscreen mode Exit fullscreen mode

That's the backend. One Bun process that already contains your database (SQLite in WAL mode), auth with passkeys and MFA, native WebSockets, durable job queues, a transactional mailer, storage, and observability. No external Redis, Postgres, or Kafka broker to stand up. No build step — TypeScript runs directly.

The difference isn't just fewer services. It's that the pieces share one memory space, one lifecycle, and one TypeScript declaration registry. Your data, your auth tokens, your file storage, your realtime connections and your background queues stop being five systems you stitch together and start being one application.

And before you ship, the same install gives you the pre-flight: run the CLI's doctor to verify the setup, migrate to bring the database to the shape the code expects, and backup so you have something to come back to. Three commands, no separate deploy pipeline for the backend tier — because there is no backend tier. There's one process.

If you're starting something this week, try installing the backend instead of provisioning it. Docs: https://yatta.js.org — Code: https://github.com/psrockstar098/yatta.js

What did you provision last that you wish you'd just installed?

Top comments (0)