// the find
LukeMathWalker/pavex
A backend framework for Rust professionals
Pavex is a Rust backend framework built around a custom compiler (pavexc) that does whole-program analysis of your routes and dependency graph at build time, then generates a dedicated server crate instead of leaning on runtime reflection or trait-object indirection. It's for Rust developers who want Rails/Spring-level productivity without giving up zero-cost abstractions — built by the author of Zero To Production in Rust.
The compiler actually checks your dependency wiring and borrow-checking implications before the app runs — missing constructors or ownership conflicts surface as compile errors with real diagnostics instead of runtime panics or hard-to-trace 500s. Error reporting is treated as a first-class concern: pavex_miette wraps miette to produce framework-specific reports, and the author has written specifically about how weak error reporting is in other Rust web frameworks, so this wasn't an afterthought. The engineering maturity is well ahead of what the star count implies — a CI generator with Jinja templates, workspace-hack management, and a dedicated snapshot test runner for compiler diagnostics.
Still closed beta — you request access via pavex.dev before you can use it, so this isn't a cargo add and try it today. The pavexc_cli ships an activation/licensing flow (jwks.json, token cache, wizard key) inside an Apache-2.0 repo, which is unusual and worth understanding before committing; the compiler binary isn't a plain cargo install. A framework that generates its own compiler and server SDK is a much bigger surface to debug when something breaks than axum or actix-web — you're trusting a young project's codegen instead of straightforward macros. There's no real documentation in the repo beyond ARCHITECTURE.md; everything else lives on pavex.dev, so you can't fully evaluate it from the source alone.