Qwik City
Qwik City builds resumable, instant-loading fullstack apps that ship near-zero JavaScript up front and lazy-load code on interaction. It suits performance-critical, conversion-sensitive sites.
Qwik City is the fullstack framework for Qwik, a UI library built around resumability and written in TypeScript. Instead of hydrating the entire page on load like most frameworks, Qwik serializes the application state into the HTML and resumes execution on demand, downloading and running JavaScript only when a specific interaction needs it. Paired with a database such as PostgreSQL via Drizzle, it targets sites that must load and become interactive almost instantly.
Components
- Qwik is the UI library. Its resumable model serializes component state and event listeners into the server-rendered HTML, so the browser does not re-execute the app to make it interactive; code is fetched lazily, function by function, as the user interacts.
- Qwik City adds file-based routing, server-side rendering, route loaders and actions for data and mutations, server functions, and deployment adapters for serverless and edge hosts.
- PostgreSQL with Drizzle provides typed, SQL-first server-side data access from loaders and actions.
- TypeScript carries types from the database to the UI.
Strengths
Resumability means the initial JavaScript payload is extremely small regardless of app size, so pages become interactive almost immediately even on slow devices and networks; this directly benefits Core Web Vitals and conversion-sensitive pages. Qwik City's loaders and actions provide a clean server data and mutation model with end-to-end types, and edge adapters enable low-latency global delivery. The fine-grained lazy loading scales well: adding features does not bloat the up-front bundle the way it does in hydration-based frameworks.
Trade-offs
Qwik is newer and less widely adopted than React or Vue, so the ecosystem, prebuilt components, examples, and hiring pool are smaller. The resumability model and its serialization rules introduce concepts (such as the $ lazy-loading boundaries) that differ from familiar frameworks and take time to learn, and some third-party libraries that assume hydration need adaptation. As an owned-backend stack, authentication, storage, and background jobs are added separately.
Ecosystem and Deployment
Qwik City ships adapters for Node, serverless, and edge platforms such as Cloudflare and Vercel, and its Vite-based build optimizes code into the fine-grained lazy-loadable chunks that resumability depends on. Postgres is typically a managed service accessed through Drizzle from route loaders and actions, with a pooler for high-concurrency edge deployments. Because the up-front payload is minimal, edge hosting delivers both low latency and low cost, an attractive combination for global commerce and content sites. The ecosystem is younger than React's but growing, with Qwik offering an optional React interoperability layer so teams can reuse some existing components while adopting resumability incrementally.
When to Use It
Choose Qwik City for performance-critical, conversion-sensitive web experiences where instant load and minimal up-front JavaScript matter most: large e-commerce sites, content-heavy marketing pages, and apps targeting low-end devices or poor networks. For maximum ecosystem breadth, hiring safety, or when up-front performance is not the dominant constraint, a Next.js or Nuxt stack may be the more conservative choice.