Blixt
Lightning-fast Rust web framework.
Compile-time safety. Zero JavaScript build steps.
$ cargo install blixt-cli
$ blixt new my_app
$ cd my_app
$ blixt dev
Compile-Time Safe
Templates, SQL queries, and routes checked at build time. Errors caught before your code ships.
Zero JS Build Steps
Interactive UIs via Datastar SSE. Tailwind auto-downloaded. No Node.js, no webpack, no bundler.
Batteries Included
Auth, CSRF, rate limiting, query builder, scaffolding, flash messages, forms, validation — all built in.
The Stack
Axum
~700k req/s
Askama
Compile-time templates
SQLx
Type-safe SQL
Datastar
SSE interactivity
Tailwind v4
Zero Node.js
Clean, Predictable Code
Handler
pub async fn index(
State(ctx): State<AppContext>,
pagination: PaginationParams,
) -> Result<impl IntoResponse> {
let page = Select::from("posts")
.columns(COLUMNS)
.order_by("created_at", Desc)
.fetch_all::<Post>(&ctx.db).await?;
render!(PostIndex { page })
}
Scaffold
$ blixt generate scaffold post \
title:string \
body:text \
published:bool
created model post and migration
created controller post
next: Add CRUD routes to src/main.rs:
.route("/posts", get(..::index))
.route("/posts", post(..::create))
.route("/posts/{id}", get(..::show))
.route("/posts/{id}", put(..::update))
.route("/posts/{id}", delete(..::destroy))
Everything You Need
⚡
render!() — one-line template responses
⚡
Query Builder — Select, Insert, Update, Delete
⚡
Form<T> — form parsing with CSRF validation
⚡
Flash & Redirect — cookie-based messages
⚡
DatastarSignals — SSE-based reactive UI
⚡
JWT Auth — algorithm-pinned, deny-by-default
⚡
Validator — type-safe, compile-time rule checks
⚡
CSRF Protection — double-submit cookie pattern
⚡
Rate Limiting — token-bucket with eviction
⚡
Scaffold CLI — full CRUD in one command
⚡
Argon2id — OWASP-compliant password hashing
⚡
Background Jobs — async with bounded concurrency
cargo install blixt-cli