Convex BackendReactive backend-as-a-service for real-time apps
Convex is a fully reactive backend — functions, database, file storage, and scheduling in one platform. Queries automatically re-run when data changes, pushing live updates to every connected client.
Convex is a reactive backend-as-a-service that eliminates the gap between your database and your UI. Queries automatically re-execute when their underlying data changes, pushing live updates to every connected client without polling or WebSocket plumbing. At A Major, we use Convex for real-time applications where live data is a core requirement — collaborative tools, dashboards, and chat-based products. Convex provides a fully managed stack: a transactional document database, serverless functions, file storage, and cron scheduling — all accessible via a TypeScript API with end-to-end type safety. No infrastructure to manage, no connection pools to tune, and no cache invalidation logic to write.
Quick start
npx create-next-app my-app --example https://github.com/get-convex/convex-nextjs-app
cd my-app
npx convex devRead the full documentation at docs.convex.dev
Reactive queries
Convex queries re-run automatically when their data changes — every client stays in sync without polling.
Document database
Transactional document store with a TypeScript query API — no SQL, no schema migrations.
ACID transactions
All mutations run in ACID transactions — consistent state even with concurrent users.
Scheduled functions
Cron jobs and delayed function execution built into the platform — no external queue needed.
End-to-end TypeScript
Types flow from database schema to frontend query hooks — no manual type definitions.
Global edge deployment
Functions run close to your users on Convex's edge infrastructure — low latency worldwide.
Why it's hard
Vendor lock-in considerations
Convex is a proprietary platform. Data and function logic are tightly coupled to Convex's runtime — migration to self-hosted infrastructure requires significant rearchitecture.
Query function limitations
Convex query and mutation functions have execution time limits and can't make external HTTP calls — side effects must be handled through actions.
Schema migration patterns
Convex doesn't have traditional migration files. Schema changes on existing data require careful planning with backfill functions.
Best practices
Use queries for reads, mutations for writes, actions for side effects
Convex's three function types have different guarantees. Queries are cached and reactive. Mutations are transactional. Actions can call external APIs.
Define schemas with strict validation
Convex schemas validate data at write time — define them early to catch data issues before they reach production.
Leverage Convex's built-in search indexes
Full-text search indexes avoid the need for external search services like Algolia for many use cases.
Use scheduled functions for background work
Convex's built-in scheduler handles delayed execution and cron jobs without external queue infrastructure.
Useful resources
Frequently asked questions
Related technologies
Related services
Looking for end-to-end delivery? These services complement Convex projects.
Web App Development
Full-stack web applications built for real users and real scale
Enterprise Software Development
Internal tools, dashboards, and integrations built for real business complexity
SaaS Development
Subscription software built to scale from day one
Technical Consultancy
Not sure what you need? We'll help you figure it out before you spend a dollar
Want to build with Convex?
Talk to our engineering team about your Convex architecture. We'll respond within 24 hours.
We limit intake each month so every project gets the focus it deserves.