People ask me what stack I use to ship AI systems fast. The answer is boring on purpose. I optimize for speed, safety, and the ability to sleep through the night after a deploy.
Here is the stack I keep reaching for, and why each piece earns its place.
Rust for the performance-critical parts
Rust is not the fastest language to write. It is the fastest language to own. When I am building inference gateways, model routers, or anything that handles a lot of concurrent requests, Rust's combination of speed and memory safety pays off immediately.
For UltraWork, the chat UI is built with Rust and Leptos. It compiles to WebAssembly, loads fast, and gives me fine-grained control over the frontend without the runtime overhead of a JavaScript framework.
Cloudflare Pages and Workers for the edge
I deploy static sites to Cloudflare Pages because global CDN, automatic HTTPS, and generous free tiers are hard to beat. For serverless functions — like the inquiry, signup, and chat APIs — Cloudflare Workers run at the edge, close to users, with minimal cold start.
The combination gives me a globally distributed backend without managing servers.
Dagger for CI/CD that actually stays green
Most CI/CD pipelines are slow because they rebuild the world every time. I use Dagger to define reproducible pipelines in code, cache aggressively, and run the same pipeline locally and in CI.
The result is deploys measured in minutes, not hours. If a build fails locally, it will fail the same way in CI. No more "works on my machine." I wrote more about this in the fastest CI/CD post.
TensorZero for model routing
If you send every AI request to a frontier model, you are overpaying. TensorZero lets me route requests to the right model for the task, run evals, and optimize costs without rebuilding the plumbing.
This is how we cut one client's AI bill by 9x: small models for simple work, frontier models only when the complexity demands it.
PostgreSQL for state that matters
For transactional state — users, subscriptions, API keys, audit logs — I default to PostgreSQL. It is boring, reliable, and has excellent tooling. When I need fast object storage for media or exports, I use Cloudflare R2.
Resend for email
Email is easy to get wrong. Resend gives me reliable delivery, good observability, and a clean API. I use it for inquiry confirmations, welcome emails, and Stripe webhook notifications.
The pattern, not the tools
The specific tools matter less than the pattern:
- →Type-safe, fast backend. Rust for the parts that need it.
- →Edge-first deployment. Static where possible, serverless where needed.
- →Reproducible pipelines. CI/CD that runs the same everywhere.
- →Intelligent model routing. Right model for the right task.
- →Boring, reliable data. PostgreSQL for transactions, R2 for objects.
This stack lets a small team ship fast without accumulating debt. If you are trying to get an AI system into production and your current stack is fighting you, reach out. I reply within one business day.