I have shipped a lot of side projects, and every single one began the same way. Not with the idea. With the plumbing. New repo, new database, new auth setup, new mail provider, new queue, new WebSocket layer, new monitoring. By the time the app could do anything, the weekend was gone.
Yatta JS 1.0, which is out today, is my answer to that. It is a backend framework for Bun built around one idea: the framework should BE the backend. You do not provision services around your app. You run one runtime, and the database, auth, mail, storage, realtime, jobs and observability are already there.
What that looks like in practice: you define your models against a type safe SQLite ORM, protect routes with passkey or TOTP two factor auth, send mail through the built in transactional mailer, push live updates over WebSockets or SSE from the same process, and schedule background work with cron, all through one yatta/api entry point. There is no build step. The TypeScript you write is the TypeScript that runs.
I also refused to ship a framework I could not trust, so 1.0 went through a real security pass: production refuses to boot without an auth secret, request bodies are byte capped, token consumption is atomic, rate limiting cannot be blown up with forged keys. 889 tests pass, and the repo runs its own benchmarks in CI on every push so performance regressions show up as red builds, not surprises.
It is MIT licensed and free. I built it in Liberia, alone, mostly at night. If you have ever lost a weekend to backend plumbing, this is for you.
Docs: https://yatta.js.org
Code: https://github.com/psrockstar098/yatta.js
Install: The npm package drops tomorrow, Oct 18.
