Pick the Fastest Framework for Your SaaS
Your framework choice is one of the hardest decisions to undo. Don't gamble on marketing claims. I've built the exact same SaaS app in 12+ frameworks so you can see real performance before you're locked in.
Frameworks
Each framework runs the exact same sample SaaS analytics dashboard. Click to explore the live demo.
React meta-framework. Reference app.
Remix evolution. Loaders & actions.
Vanilla PHP + Nginx. Zero overhead.
Type-safe full-stack React.
Islands architecture. Minimal JS.
Compiler-first. Minimal runtime.
Vue meta-framework. Auto-imports.
High-perf Node.js + React SSR.
Hypermedia-driven. Minimal JS.
Edge network. VPS comparison.
Bun-native. End-to-end type-safe.
Cloud Hosting
Compare cloud hosting platforms for deploying your framework. Click to see features and performance metrics.
Framework Performance Comparison
Side-by-side metrics across all frameworks
| Framework | Client | TTFB ▲ | LCP | TBT | Score | Deps | |
|---|---|---|---|---|---|---|---|
|
SvelteKit 2
VPS
|
199.7 KB | 43 ms | 80 ms | - | 98 | 19 | |
|
Fastify + React
VPS
|
306.8 KB | 43 ms | 70 ms | - | 99 | 21 | |
|
A La Pieter Levels Stack
VPS (PHP)
|
188.7 KB | 44 ms | 66 ms | - | 96 | 0 | |
|
Next.js 16
Vercel
|
636.6 KB | 45 ms | 62 ms | - | 96 | 18 | |
|
Elysia + React
VPS (Bun)
|
306.8 KB | 45 ms | 72 ms | - | 100 | 20 | |
|
Hono + htmx
VPS (Node)
|
47 KB | 45 ms | 72 ms | - | 99 | 9 | |
|
Leptos
VPS (Rust)
|
1050.2 KB | 45 ms | 72 ms | - | 98 | 15 | |
|
Astro 5
VPS
|
265.2 KB | 45 ms | 76 ms | - | 99 | 18 | |
|
Next.js 16
VPS (Node)
|
666 KB | 47 ms | 78 ms | - | 99 | 18 | |
|
Nuxt 4
VPS
|
257.4 KB | 48 ms | 72 ms | - | 99 | 10 | |
|
TanStack Start
VPS
|
405.2 KB | 50 ms | 76 ms | - | 99 | 21 | |
|
React Router v7
VPS
|
485.6 KB | 50 ms | 80 ms | - | 98 | 22 | |
|
Next.js 16
VPS (Bun)
|
666 KB | - | - | - | - | 19 | |
|
Hono + htmx
VPS (Bun)
|
47 KB | - | - | - | - | 5 | |
|
Hono + htmx
VPS (Deno)
|
47 KB | - | - | - | - | 2 |
The Problem
- Framework benchmarks use synthetic "hello world" apps
- Marketing highlights only each framework's strengths
- No way to compare "Next.js SSR vs SvelteKit SSR"
- Choosing a framework is often a one-way door
Our Solution
- We test using a real analytics SaaS dashboard with charts, forms, and lists
- Identical app built with each framework idiomatically
- Same server (for the VPS tests), same Cloudflare config, fair comparison
- Every rendering mode tested: SSG, SSR, ISR, streaming
What Makes the Best Web Dev Framework?
- There is no single "best" web dev framework. As a developer, you have to decide what factors are most important to you.
- Some frameworks offer more features, that come at the cost of slower page load times.
- Still, it's important to find an optimal balance between speed and features.
Do contact me in case you have comments, feedback or would like to request certain changes to the tested frameworks or testing methodology.
Glossary
Quick reference for technical terms used throughout this comparison.
Rendering Modes
- SSG (Static Site Generation)
- Pre-rendered at build time, served as static HTML
- SSR (Server-Side Rendering)
- Generated fresh on each request by the server
- ISR (Incremental Static Regeneration)
- Static pages that revalidate in the background
- CSR (Client-Side Rendering)
- Rendered entirely in the browser with JavaScript
- Streaming SSR
- Progressive HTML delivery as content becomes ready
- Islands Architecture
- Static HTML with isolated interactive components
Core Web Vitals
- LCP (Largest Contentful Paint)
- Time until largest visible content element loads. Good: ≤2.5s
- CLS (Cumulative Layout Shift)
- Visual stability score (lower is better). Good: ≤0.1
- INP (Interaction to Next Paint)
- Responsiveness to user interactions. Good: ≤200ms
- FCP (First Contentful Paint)
- Time until first content appears on screen
- TBT (Total Blocking Time)
- Time main thread was blocked during page load
Performance Metrics
- TTFB (Time to First Byte)
- Time from request to first byte of response
- Client Bundle
- JavaScript + CSS sent to browser
- Server Bundle
- JavaScript running on server (SSR/API)
- RPS (Requests Per Second)
- Server throughput under concurrent load
- Lighthouse Score
- Google's performance audit score (0-100)
- CDN (Content Delivery Network)
- Distributed servers for faster global delivery
- Hydration
- Making server-rendered HTML interactive on the client
Methodology
How we ensure fair, reproducible comparisons
Same Infrastructure
All frameworks run on the same OVH VPS behind Cloudflare. Only Vercel variant runs on Vercel for comparison.
Idiomatic Code
Each framework uses its recommended patterns. No handicapping with non-idiomatic approaches.
Multiple Runtimes
Node.js, Bun, Rust/WASM, and static serving compared. See how runtime choice affects performance.
Real Metrics
TTFB, bundle size, and TTI measured consistently. SSR paths not cached to measure actual performance.
Statistical Approach
About This Project
PickAFramework.com is an open-source project created to help developers make informed framework decisions. The entire codebase, including all framework implementations, is available on GitHub for review and contribution.
@emilnessx