Build fast, break nothing

From prototype to production, Convex provides a flexible, 100% ACID compliant database.

ACID Transactions

Every project and company eventually needs true ACID transactions; Convex is designed for it out of the gate. All data in Convex is always written and read in transactions. Your data will always behave as you expect. No complicated rules around reading all your data before writing. All Convex transactions work on top of a consistent snapshot.

Convex goes above and beyond typical ACID compliance with serializable isolation and optimistic concurrency control. Write your app’s logic in TypeScript query and mutation functions and Convex takes care of the rest.

Relational data model

A hierarchical document database without relationships is not enough. Convex encourages you to organize your documents in tables. So if your users and todos are in different tables, you can set clear relationships between them using standard relational patterns. Convex is still flexible enough to documents in semi-structured JSON files.

Automatic transactions and retries

The Convex database was designed with the query and mutation functions in mind. So every time you write a query or mutation function, it’s automatically a transaction. All transactions are automatically retried if they conflict. You are free to just write the code you care about, not trying to figure out to how manage consistency.

Loose to strict typing

Sometimes you just want to chuck records into a table and figure it out later. Sometimes you annotate types when it’s useful, but write it like plain ol’ JavaScript when you’re moving fast. However, the day may come when you want to solidify your designs. Convex embraces this concept of gradual rigor. For example, you can operate schema-free as you’re iterating, and Convex will keep track of all your record’s types for you. But Convex also let’s you lock in a schema and type enforcement when you’re ready. Convex will even generate your schema for you!

Start now

Get your project up and running in minutesGet started