Skip to main content

Welcome to Convex

You’re just a few short steps away from building an interactive live-updating web application entirely in JavaScript, all without managing a backend. Follow along with the video or read on below.

The backend-as-a-service for web applications

Convex is a database and a backend-as-a-service for web applications. Queries in Convex are full JavaScript functions, allowing you to easily express your application logic. These queries can be used as end-to-end subscriptions that update your React components in users' browsers whenever the data they depend on changes.

The best way to understand the magic of Convex is to see it in action. We’ll have you up and running in a manner of seconds…

Your first Convex app

Clone the starter project and install its dependencies.

git clone
cd convex-tutorial
npm i

This project contains a basic chat web app, including React code that runs on the frontend and Convex query functions that run in the cloud. npm run dev runs both the Convex dev server and a frontend dev server to deploy and hot-reload both these functions and these Convex functions and the application frontend.

npm run dev

The first time you run this command you'll be prompted to log in via GitHub and to create a new project. You don't need any additional credentials or to pay for anything.

Your app is up and running.

Convex reactivity

Open another browser window with the same URL. You should see chat messages typed in one browser window show up immediately in the other. Any data in Convex (chat messages in this example app) will update immediately for all viewers, anywhere in the world.

Open your project's dashboard to see your data. You can modify this data directly, causing every browser window viewing the app to update immediately.

Next step

Click next to learn how Convex works and how to build your own Convex app.

If you get stuck, join our Discord for help.