infra-from-code

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(
    // automatic db provisioning + hands you back an authenticated connection pool
    #[shuttle_shared_db::Postgres] pool: PgPool,
) -> ShuttleRocket<...> {
    // 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

Shuttle can host many types of Rust programs. The Shuttle environment provides a network port for web traffic exposed to the Internet. Therefore, the most common use case is to deploy web apps. Apps 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 AWS RDS, shared Postgres or Mongo databases, and more. Check the Resources section for a full overview.