# Better Convex > Convex for Nuxt 4 with SSR-to-realtime queries, Better Auth, typed server calls, optimistic updates, and uploads. ## When to use Use this site to build and operate Convex applications with Nuxt or Vue. ## Documentation - [Better Convex Nuxt](https://better-convex.lupinum.com/raw/docs/overview/introduction.md): Add Convex to Nuxt with server-rendered queries, live updates, Better Auth, and supported server calls. - [Why Better Convex Nuxt](https://better-convex.lupinum.com/raw/docs/overview/why-better-convex-nuxt.md): Understand which integration problems the module solves and which choices remain yours. - [Who It Is For](https://better-convex.lupinum.com/raw/docs/overview/who-it-is-for.md): Decide whether Better Convex Nuxt matches your stack and the level of integration you want. - [Use Cases](https://better-convex.lupinum.com/raw/docs/overview/use-cases.md): See where the Nuxt, Convex, and Better Auth integration provides the most value. - [Compare Nuxt Integrations](https://better-convex.lupinum.com/raw/docs/overview/comparison.md): Compare Better Convex Nuxt with nuxt-convex, convex-nuxt, and a manual Convex integration. - [Limitations and Trade-offs](https://better-convex.lupinum.com/raw/docs/overview/limitations.md): Understand the runtime costs, deliberate constraints, and unsupported cases before adopting the module. - [Mental Model](https://better-convex.lupinum.com/raw/docs/understand/mental-model.md): Understand which system owns rendering, data, sessions, coordination, and authorization. - [Request Lifecycle](https://better-convex.lupinum.com/raw/docs/understand/request-lifecycle.md): Follow one query from immediate state through Nuxt SSR, live updates, and cleanup. - [SSR, Hydration, and Real-Time](https://better-convex.lupinum.com/raw/docs/understand/ssr-hydration-realtime.md): Choose whether a live query begins during SSR or only in the browser. - [Query Ownership and Caching](https://better-convex.lupinum.com/raw/docs/understand/query-ownership-and-caching.md): Understand where query results live without creating a second state authority. - [Authentication and Identity](https://better-convex.lupinum.com/raw/docs/understand/authentication-and-identity.md): Understand auth state, query auth modes, identity isolation, and client replacement. - [Server and Client Boundaries](https://better-convex.lupinum.com/raw/docs/understand/server-and-client-boundaries.md): Choose the supported entry point for components, Nitro handlers, auth definitions, and errors. - [Errors and Failures](https://better-convex.lupinum.com/raw/docs/understand/errors-and-failures.md): Understand the shared Convex error categories and who owns recovery. - [Design Decisions](https://better-convex.lupinum.com/raw/docs/understand/design-decisions.md): Understand the deliberate constraints behind the public runtime. - [Glossary](https://better-convex.lupinum.com/raw/docs/understand/glossary.md): Use the canonical terms for Better Convex Nuxt concepts and lifecycle states. - [Choose Your Path](https://better-convex.lupinum.com/raw/docs/get-started/choose-your-path.md): Start with Nuxt, plain Vue/Vite, Better Auth, or the optional MCP resource boundary. - [Installation](https://better-convex.lupinum.com/raw/docs/get-started/installation.md): Install Better Convex Nuxt and verify the generated Convex API alias. - [First Real-Time Page](https://better-convex.lupinum.com/raw/docs/get-started/first-realtime-page.md): Render a Convex query during SSR and continue it as a live browser subscription. - [Add a Mutation](https://better-convex.lupinum.com/raw/docs/get-started/add-a-mutation.md): Write Convex data and observe the live query update without a manual refetch. - [Add Authentication](https://better-convex.lupinum.com/raw/docs/get-started/add-authentication.md): Add the maintained Better Auth and Convex integration to the working Nuxt app. - [Protect Data](https://better-convex.lupinum.com/raw/docs/get-started/protect-data.md): Enforce ownership in Convex and add Nuxt route protection for navigation. - [Project Structure](https://better-convex.lupinum.com/raw/docs/get-started/project-structure.md): Place Nuxt UI, Convex functions, auth configuration, and shared policy with clear ownership. - [Next Steps](https://better-convex.lupinum.com/raw/docs/get-started/next-steps.md): Continue from the golden path based on the application behavior you need. - [Plain Vue and Vite](https://better-convex.lupinum.com/raw/docs/get-started/plain-vue.md): Use the shared Better Convex client lifecycle without Nuxt, Nitro, or Better Auth. - [Queries](https://better-convex.lupinum.com/raw/docs/build/queries/queries.md): Fetch typed Convex data with immediate reactive state, Nuxt SSR, and explicit lifecycle status. - [Reactive Arguments](https://better-convex.lupinum.com/raw/docs/build/queries/reactive-arguments.md): Re-run a Convex query when filters, route parameters, or selected records change. - [Loading and Stale Data](https://better-convex.lupinum.com/raw/docs/build/queries/loading-and-stale-data.md): Render deterministic query states during SSR, argument changes, skips, and errors. - [Query Execution Options](https://better-convex.lupinum.com/raw/docs/build/queries/ssr-options.md): Select SSR, authentication, and same-identity stale-data behavior for each query. - [Pagination](https://better-convex.lupinum.com/raw/docs/build/queries/pagination.md): Load a Convex paginated query with immediate state, SSR, live pages, and explicit status. - [Mutations](https://better-convex.lupinum.com/raw/docs/build/write-data/mutations.md): Execute transactional Convex writes with one direct callable and readonly state. - [Actions](https://better-convex.lupinum.com/raw/docs/build/write-data/actions.md): Call external services or perform non-transactional Convex work with reactive operation state. - [Optimistic Updates](https://better-convex.lupinum.com/raw/docs/build/write-data/optimistic-updates.md): Update local Convex query results directly, then let Convex confirm or roll back the change. - [Concurrent Operations](https://better-convex.lupinum.com/raw/docs/build/write-data/concurrent-operations.md): Represent overlapping mutations and actions without misleading shared loading state. - [Form submissions](https://better-convex.lupinum.com/raw/docs/build/write-data/forms.md): Validate external form values and submit one typed Convex mutation. - [Authentication](https://better-convex.lupinum.com/raw/docs/build/authentication/overview.md): Choose the Better Convex Nuxt auth API for state, operations, users, routes, and backend policy. - [Better Auth Setup](https://better-convex.lupinum.com/raw/docs/build/authentication/better-auth-setup.md): Configure Better Auth in Convex and connect it to Nuxt through the same-origin auth proxy. - [Auth State and User Data](https://better-convex.lupinum.com/raw/docs/build/authentication/auth-state-and-user.md): Read session state and query application profile data from the correct owner. - [Sign In and Sign Out](https://better-convex.lupinum.com/raw/docs/build/authentication/sign-in-and-sign-out.md): Run integrated Better Auth operations and handle their identity lifecycle. - [Route Protection](https://better-convex.lupinum.com/raw/docs/build/authentication/route-protection.md): Redirect anonymous navigation while preserving backend authorization as the security boundary. - [Backend Authorization](https://better-convex.lupinum.com/raw/docs/build/authentication/backend-authorization.md): Enforce ownership, membership, and role rules inside Convex functions. - [Better Auth Plugins](https://better-convex.lupinum.com/raw/docs/build/authentication/better-auth-plugins.md): Register typed client plugins and handle plugins that change the Better Auth component schema. - [Custom User Fields](https://better-convex.lupinum.com/raw/docs/build/authentication/custom-user-fields.md): Place user data in the session, Better Auth component, JWT, or application projection deliberately. - [User Synchronization](https://better-convex.lupinum.com/raw/docs/build/authentication/user-synchronization.md): Maintain a rebuildable application user projection without duplicating Better Auth session truth. - [Delegated OAuth and MCP](https://better-convex.lupinum.com/raw/docs/build/authentication/delegated-oauth-and-mcp.md): Expose the fixed delegated-human MCP profile through the official Better Auth OAuth Provider and live Convex authorization. - [Transactional auth email](https://better-convex.lupinum.com/raw/docs/build/authentication/transactional-email.md): Bind reset, verification, and email-code callbacks to the current Convex invocation. - [Workforce authentication candidate](https://better-convex.lupinum.com/raw/docs/build/authentication/workforce-profile.md): Configure the fixed password and TOTP candidate with one canonical auth component. - [serverConvex](https://better-convex.lupinum.com/raw/docs/build/server/server-convex.md): Call Convex from a Nitro request with explicit authentication policy and request-scoped state. - [Server Routes](https://better-convex.lupinum.com/raw/docs/build/server/server-routes.md): Decide when a Nuxt API route should call Convex and return a safe server response. - [Webhooks and Jobs](https://better-convex.lupinum.com/raw/docs/build/server/webhooks-and-jobs.md): Verify external events before calling Convex and separate request handlers from durable work. - [Credentials and Server Security](https://better-convex.lupinum.com/raw/docs/build/server/credentials-and-security.md): Understand cookie exchange, explicit principals, redaction, and server-boundary controls. - [Upload Files](https://better-convex.lupinum.com/raw/docs/build/files/upload-files.md): Upload one file to Convex storage with progress, cancellation, and reactive state. - [Storage URLs](https://better-convex.lupinum.com/raw/docs/build/files/storage-urls.md): Resolve a Convex storage ID with an ordinary typed query. - [File Validation and Deletion](https://better-convex.lupinum.com/raw/docs/build/files/validation-and-deletion.md): Enforce file policy, prevent orphans, and delete storage with product metadata safely. - [Connection State](https://better-convex.lupinum.com/raw/docs/build/application-behavior/connection-state.md): Present offline, reconnecting, and pending-operation state without confusing it with backend health. - [Error Handling](https://better-convex.lupinum.com/raw/docs/build/application-behavior/error-handling.md): Handle query, mutation, action, auth, upload, and server failures with one public error model. - [Logging](https://better-convex.lupinum.com/raw/docs/build/application-behavior/logging.md): Enable focused client and server diagnostics while keeping sensitive values out of logs. - [DevTools](https://better-convex.lupinum.com/raw/docs/build/application-behavior/devtools.md): Inspect queries, mutation history, authentication, and proxy behavior during development. - [Performance](https://better-convex.lupinum.com/raw/docs/build/application-behavior/performance.md): Remove unnecessary query stages, reduce payloads, and measure the Nuxt-to-Convex lifecycle. - [MCP on Convex](https://better-convex.lupinum.com/raw/docs/build/agents/mcp.md): Expose explicit application operations through the provider-neutral Better Convex MCP resource boundary. - [Vue MCP Apps](https://better-convex.lupinum.com/raw/docs/build/agents/mcp-apps.md): Add a credential-free Vue interface to an MCP tool without changing its authorization boundary. - [Protected Dashboard](https://better-convex.lupinum.com/raw/docs/recipes/protected-dashboard.md): Build an authenticated dashboard with route UX and backend-enforced data access. - [Real-Time Feed](https://better-convex.lupinum.com/raw/docs/recipes/realtime-feed.md): Build a paginated live feed with stable ordering and optimistic inserts. - [Optimistic Todo List](https://better-convex.lupinum.com/raw/docs/recipes/optimistic-todo-list.md): Create, toggle, and remove todos immediately with direct local-store updates and automatic rollback. - [Infinite Scroll](https://better-convex.lupinum.com/raw/docs/recipes/infinite-scroll.md): Load paginated data near the viewport while preserving an accessible manual control. - [File Upload Form](https://better-convex.lupinum.com/raw/docs/recipes/file-upload-form.md): Upload, validate, attach, preview, and delete a private file. - [Organization Permissions](https://better-convex.lupinum.com/raw/docs/recipes/organization-permissions.md): Build application-owned organization access checks on canonical membership data. - [Authenticated Server Route](https://better-convex.lupinum.com/raw/docs/recipes/authenticated-server-route.md): Call Convex from Nitro with the incoming user's identity and a safe HTTP contract. - [Public and Private Data](https://better-convex.lupinum.com/raw/docs/recipes/public-and-private-data.md): Combine identity-independent SSR content with authenticated user data on one page. - [Test Signed-In Screens](https://better-convex.lupinum.com/raw/docs/recipes/component-testing.md): Test Better Convex component behavior by generated function reference instead of mock call order. - [Composables](https://better-convex.lupinum.com/raw/docs/reference/composables.md): Reference for the maintained Better Convex Nuxt composables. - [Server API](https://better-convex.lupinum.com/raw/docs/reference/server-api.md): Reference for the published server caller, token exchange, and user projection helper. - [Error Types](https://better-convex.lupinum.com/raw/docs/reference/error-types.md): Reference for ConvexCallError, normalization, and serialized errors. - [Module Configuration](https://better-convex.lupinum.com/raw/docs/reference/module-configuration.md): Reference for every supported option under the nuxt.config.ts convex key. - [Package Exports](https://better-convex.lupinum.com/raw/docs/reference/package-exports.md): Reference for supported import paths, Nuxt aliases, and auto-import boundaries. - [API Surface](https://better-convex.lupinum.com/raw/docs/reference/api-surface.md): Generated reference of auto-imported composables, server helpers, aliases, and package entries. - [Environment Variables](https://better-convex.lupinum.com/raw/docs/operations/environment-variables.md): Configure Convex, Nuxt, and Better Auth without mixing build-time and runtime concerns. - [Deployment](https://better-convex.lupinum.com/raw/docs/operations/deployment.md): Deploy a Nuxt and Convex application with the correct SSR, realtime, and authentication boundaries. - [Security Model](https://better-convex.lupinum.com/raw/docs/operations/security-model.md): Understand the trust boundaries and application responsibilities around Better Convex Nuxt. - [Troubleshooting](https://better-convex.lupinum.com/raw/docs/operations/troubleshooting.md): Diagnose setup, SSR, authentication, realtime, and upload failures from the boundary inward. - [Release Compatibility](https://better-convex.lupinum.com/raw/docs/operations/release-compatibility.md): Use the exact dependency tuple tested and published with Better Convex Nuxt. - [Better Convex documentation](https://better-convex.lupinum.com/raw/docs.md): Choose a learning path for SSR-ready Convex queries, Better Auth, server calls, writes, uploads, and production operation in Nuxt 4.