The GIF above demonstrates how easy it is to add resources to your project, visualized with the Shuttle Console.

As a platform designed with a focus on providing an exceptional developer experience, our goal is to make building and deploying applications a breeze. Shuttle’s capabilities make provisioning resources simple and hassle-free. Getting a database is just a matter of asking for one with a macro:

#[shuttle_runtime::main]
async fn main(
    // Automaticcally provisions a Postgres database
    // and hands you an authenticated connection pool
    #[shuttle_shared_db::Postgres] pool: sqlx::PgPool,
) -> ShuttleAxum {
    // Application code
}

You can hit the ground running and swiftly transform your ideas into tangible solutions. Accelerate your project’s progress by rapidly building and deploying prototypes, ensuring you bring your vision to life in record time.

Our mission is aligned with the wave of Rust becoming the future of web development, as we strive to deliver cutting-edge solutions that leverage the full potential of the most loved programming language.

Supported Applications and Frameworks

Many types of Rust programs can be deployed on Shuttle.

Shuttle provides all hosted apps with proxied HTTPS web traffic. Therefore, the most common use case is to deploy web apps and APIs. Any app that can bind to a socket and accept incoming HTTP traffic can run on Shuttle.

To make life easier we have implemented all the boilerplate required for these Rust web frameworks. Get started with just a few lines of code.

The Discord Bot building frameworks Serenity and Poise are also officially supported.

If you need a custom service, you can take a look at our guide right here.

Resource Provisioning

One of the great features of Shuttle is the provisioning of resources through macros. With just a few lines of code, you can get access to Postgres databases and more. Check the Resources section for a full overview.