README.md
Convex is the open-source reactive database designed to make life easy for web app developers, whether human or LLM. Fetch data and perform business logic with strong consistency by writing pure TypeScript.
Convex provides a database, a place to write your server functions, and client libraries. It makes it easy to build and scale dynamic live-updating apps. Read the docs to learn more.
Development of the Convex backend is led by the Convex team. We welcome bug fixes and love receiving feedback. We keep this repository synced with any internal development work within a handful of days.
Visit our documentation to learn more about Convex and follow our getting started guides.
The easiest way to build with Convex is through our cloud platform, which includes a generous free tier and lets you focus on building your application without worrying about infrastructure. Many small applications and side-projects can operate entirely on the free tier with zero cost and zero maintenance.
The self-hosted product includes most features of the cloud product, including the dashboard and CLI. Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
You can either use Docker (recommended) or a prebuilt binary to self host
Convex. Check out our self-hosting guide for detailed
instructions. Community support for self-hosting is available in the
#self-hosted channel on Discord.
See BUILD.md.
#self-hosted channel.--disable-beacon flag on the
backend binary. The beacon's messages print in the log and only include
crates/ contains Rust code
local_backend/ is an application server on top of the Runtime. This is
the serving edge for the Convex cloud.npm-packages/ contains both our public and internal TypeScript packages.
udf-runtime/ sets up the user-defined functions JS environment for
queries and mutationsudf-tests/ is a collection of functions used in testing the isolate
layersystem-udfs/ contains functions used by the Convex system e.g. the CLI