finds.dev← search

// the find

shuttle-hq/shuttle

★ 6,919 · Rust · Apache-2.0 · updated Jan 2026

Build & ship backends without writing any infrastructure files.

Shuttle is a PaaS for Rust backends that provisions resources (Postgres, object storage, secrets) via proc-macro annotations on your `main` function instead of Terraform or YAML. You write `#[shuttle_runtime::main]` and add typed parameters for each resource; `shuttle deploy` handles the rest. It targets Rust developers who want Heroku-era simplicity without leaving the language.

The resource-as-function-parameter model is genuinely clever — it ties infrastructure lifetime to code compilation, so a missing resource is a type error, not a runtime surprise. Framework coverage is solid: Axum, Actix, Rocket, Rama, Warp, Tower, Poem, Salvo, and even Serenity for Discord bots, with thin wrapper crates that each handle the service trait plumbing. The MCP crate (deploying, logs, project management via model context protocol) shows they're paying attention to where tooling is heading. The local provisioner server means `shuttle run` gives you a real Postgres locally with zero Docker required.

Vendor lock-in is real and deep — the proc-macro changes your `main` signature in a way that only works on Shuttle's platform; migrating off means rewriting entry points and dropping their resource crates throughout. The shared-DB tier means your Postgres is on a multi-tenant cluster you don't control, which is fine for prototypes and a problem the moment you need extensions, custom roles, or predictable I/O. Last push was January 2026 but the repo shows a relatively small commit cadence and modest fork count for 7k stars, which suggests a healthy following but a thin contributor base — bus-factor risk if the company's direction shifts. Cold deploy times are Rust compile times, so `shuttle deploy` on a non-trivial project can take several minutes; there's cargo-chef caching but it's not invisible.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →