Convex | The backend platform that keeps your app in sync
Convex | The backend platform that keeps your app in sync 图标

Convex | The backend platform that keeps your app in sync

convex.dev

Convex is the backend platform that keeps your app in sync. Everything you need to build your full-stack project.

收录于 1 年前更新于 1 年前正常收录
Convex | The backend platform that keeps your app in sync 网站预览

详细内容

Convex logo

Convex logo

Product

RealtimeKeep your app up to date AuthenticationOver 80+ OAuth integrations Convex Components\
\
ComponentsIndependent, modular, TypeScript building blocks for your backend.
Open sourceSelf host and develop locally \
\
AI CodingGenerate high quality Convex code with AI

Compare

Convex vs. Firebase Convex vs. Supabase Convex vs. SQL

Developers

DocumentationGet started with your favorite frameworks SearchSearch across Docs, Stack, and Discord TemplatesUse a recipe to get started quickly Convex for StartupsStart and scale your company with Convex Convex ChampionsAmbassadors that support our thriving community Convex CommunityShare ideas and ask for help in our community Discord

Stack\
\
Stack\
\
Stack is the Convex developer portal and blog, sharing bright ideas and techniques for building with Convex.\
\
Explore Stack

Blog Docs Pricing

GitHub16,195 stars Log in

The backend platform that keeps your app in sync

Start building

npm create convex

Everything is code

From database schemas to queries, from auth to APIs, express every part of
your backend in pure TypeScript. Your backend code lives next to your app code,
is typechecked and autocompleted, and is generated by AI with exceptional accuracy.

Screenshot of code editorScreenshot of app preview and Convex dashboard

Always in sync

Convex libraries guarantee that your app always reflects changes to your
frontend code, backend code,
and database state in real time.
No need for state managers, cache invalidation policies, or websockets.

Screenshot of code editorScreenshot of app preview and Convex dashboard

Backend built-ins

Create cron jobs, kick off backend AI workflows, leverage built-in auth,
and tap into a growing ecosystem of components that solve common backend
needs with just an npm i.

Screenshot of code editorScreenshot of app preview and Convex dashboard

The backend platform that keeps your app in sync

Start building

npm create convex

Everything is code

From database schemas to queries, from auth to APIs, express every part of
your backend in pure TypeScript. Your backend code lives next to your app code,
is typechecked and autocompleted, and is generated by AI with exceptional accuracy.

01

Always in sync

Backend built-ins

TypeScriptconvex/todos.tsTypeScriptconvex/schema.ts

99

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

22

23

34

35

41

›

⌄

⌄

⌄

›

›

›

import { mutation,query }

from"./_generated/server";

import { v } from"convex/values";

exportconstsetComplete=mutation({

args: { id: v.id("todos") },

handler: async (ctx,args) => {

awaitctx.db.patch(args.id, {

// Try checking a todo--nothing happens!

// Change this to `true` and try again.

completed: false,

});

},

});

exportconstlist=query({…});

exportconstadd=mutation({…});

exportconstsetIncomplete=mutation({…});

Reset code

Try it out!

99

1

2

3

4

5

6

7

8

9

10

11

›

⌄

⌄

import { defineSchema,defineTable } from"convex/server";

import { v } from"convex/values";

exportdefaultdefineSchema({

todos: defineTable({

text: v.string(),

category: v.optional(v.string()),

completed: v.boolean(),

}).index("by_completed", ["completed"]),

});

Convex Chat Demo

Last categorized:2s ago

Buy groceries

Send work report to manager

Add

todos

database table with 1 document

_id text category completed _creationTime
24doqamcfaeboxnnovrhmcrkrfilwmy "Buy groceries" unset false 11/30/2025, 1:32:40 PM

Reactsrc/Todo/TodoApp.tsxTypeScriptconvex/todos.ts

99

1

2

3

4

5

6

7

8

9

10

11

›

⌄

import { api } from"../../convex/_generated/api";

import { TodoList } from"./TodoList";

import { useQuery } from"convex/react";

exportfunctionTodoApp() {

// Load more by changing `count` to 10.

// Everything updates reactively.

consttodos=useQuery(api.todos.list, { count: 5 });

return <TodoListtodos={todos} />;

}

Reset code

Try it out!

99

1

2

3

4

12

13

14

15

16

17

18

19

20

›

›

⌄

⌄

›

import { mutation,query } from"./_generated/server";

import { v } from"convex/values";

exportconstsetComplete=mutation({…});

exportconstlist=query({

args: { count: v.number() },

handler: async (ctx,args) => {

returnawaitctx.db.query("todos").order("desc").take(args.count);

},

});

exportconstadd=mutation({…});

Convex Chat Demo

Last categorized:2s ago

Update project status

Work

Schedule a team meeting

Work

Do laundry

Chores

Go to the doctor

Other

Go to the gym

Other

Schedule health checkup

Add

todos

database table with 10 documents

_id text category completed _creationTime
24bzdfbchqiqwxrzcfjrtlbsvhzgvmm "Update project status" "Work" false 11/30/2025, 1:32:39 PM
24kqogogiskiuzrkorbwwonzucghcdd "Schedule a team meeting" "Work" false 11/30/2025, 1:32:39 PM
24pkidrltcwkbmcfhlmsitkatovobui "Do laundry" "Chores" false 11/30/2025, 1:32:39 PM
24vrdzjzyqvnnqdiwrqskyulyukorcw "Go to the doctor" "Other" false 11/30/2025, 1:32:39 PM
24yvcsoajvcsignwyrdtnasyphlqgcv "Go to the gym" "Other" false 11/30/2025, 1:32:39 PM
24mxmwvkipedfxjsgwnkphhhvquldww "Clean my room" "Chores" false 11/30/2025, 1:32:39 PM
24zxxxihtwsyhxxuukhbrfjjkbmmqex "Play tennis with Steve" "Other" false 11/30/2025, 1:32:39 PM
24zwoqccgjewwazvweynibewzqynxnk "Play basketball" "Other" false 11/30/2025, 1:32:39 PM
24zwitqwehzgirbaaotsevubecjcihv "Talk to my boss" "Work" false 11/30/2025, 1:32:39 PM
24vjrnwccwupjeluuilwsinuexhzsha "Buy groceries" "Chores" false 11/30/2025, 1:32:39 PM

TypeScriptconvex/crons.tsTypeScriptconvex/categorize.tsTypeScriptconvex/schema.ts

99

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

›

⌄

import { cronJobs } from"convex/server";

import { internal } from"./_generated/api";

constcrons=cronJobs();

crons.interval(

"categorize todos",

{ seconds: 5 },

internal.categorize.categorize,

{

// Add categories "Sports" and "Health"

// to see the todos categorized on the

// next cron job run.

categories: ["Chores","Work"],

},

);

exportdefaultcrons;

Reset code

Try it out!

99

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

›

⌄

⌄

⌄

⌄

⌄

import { v } from"convex/values";

import { api,internal } from"./_generated/api";

import { Doc,Id } from"./_generated/dataModel";

import { internalAction,internalMutation } from"./_generated/server";

importAnthropicfrom"@anthropic-ai/sdk";

typeAiCategorizeResponse= {

id: Id<"todos">;

category: string;

};

exportconstcategorize=internalAction({

args: { categories: v.array(v.string()) },

handler: async (ctx,args) => {

consttodos=awaitctx.runQuery(api.todos.list, { count: 100 });

constresponse=awaitcategorizeTodos(todos,args.categories);

awaitctx.runMutation(internal.categorize.setCategories, {

categories: response,

});

},

});

exportconstsetCategories=internalMutation({

99

1

2

3

4

5

6

7

8

9

10

11

›

⌄

⌄

import { defineSchema,defineTable } from"convex/server";

import { v } from"convex/values";

exportdefaultdefineSchema({

todos: defineTable({

text: v.string(),

category: v.optional(v.string()),

completed: v.boolean(),

}).index("by_completed", ["completed"]),

});

Convex Chat Demo

Last categorized:2s ago

Update project status

Work

Schedule a team meeting

Work

Do laundry

Chores

Go to the doctor

Other

Go to the gym

Other

Clean my room

Chores

Play tennis with Steve

Other

Play basketball

Other

Talk to my boss

Work

Buy groceries

Chores

Complete project deadline

Add

todos

database table with 10 documents

_id text category completed _creationTime
24vtkrknppsugobbuuccjupjiqssypf "Update project status" "Work" false 11/30/2025, 1:32:39 PM
24ytzukahjuldiwlihznueckhskkywl "Schedule a team meeting" "Work" false 11/30/2025, 1:32:39 PM
24fkpvrwcmbivcbabjmlrvucqbtipke "Do laundry" "Chores" false 11/30/2025, 1:32:39 PM
24huakrddhtbcwywgoohhraycyahfbn "Go to the doctor" "Other" false 11/30/2025, 1:32:39 PM
24pgohwdvmjzgkwyhlwpevkgsrgqyuy "Go to the gym" "Other" false 11/30/2025, 1:32:39 PM
24yaymyecnjkotabrhiyorgtkclnach "Clean my room" "Chores" false 11/30/2025, 1:32:39 PM
24gknlaudbigffihkngmknydjaptchd "Play tennis with Steve" "Other" false 11/30/2025, 1:32:39 PM
24zuotxggtqetzedcbvwmdijqpflflm "Play basketball" "Other" false 11/30/2025, 1:32:39 PM
24giadwdnsuucjdraxyakvgdzbmrbmu "Talk to my boss" "Work" false 11/30/2025, 1:32:39 PM
24oreismjnehexpnytftpwgtuitcyvc "Buy groceries" "Chores" false 11/30/2025, 1:32:39 PM

AI Tools

LLMs love Convex

With Convex, everything is just TypeScript. This means your favorite AI tools are pre-equipped to generate high quality code.

Learn more

Try Convex with\
Convex Chef

Product

Not just a database

Everything your product deserves to build, launch, and scale.

Learn moreIllustration of the features provided by Convex, including realtime updates, type safety, and automatic caching.Illustration of the features provided by Convex, including realtime updates, type safety, and automatic caching.

Customer Love

Loved by developers

What people building their business on Convex are saying.

Next + Convex (all in typescript)

Vs

Angular (typescript) + Django (python) + Postgres + S3 + Websocket DIY + SQS + IaC + DIY e2e type safety

🤔

WebDevCody's avatar

WebDevCody @webdevcody

@convex Simple. Fast. Realtime.

AndyOz's avatar

AndyOz @andy_austin_dev

I think @convex might be the best DB I've ever used

Robin's avatar

Robin @robinxpfp

Happy to see more first-class clerk x convex integration

There's such a major architecture shift around Serverless + Edge + React + Typescript that (imo) it's unlikely sql is still the right abstraction

Very compelling that convex is approaching this from first principles

Colin | Clerk.com's avatar

Colin | Clerk.com @tweetsbycolin

😱 @convex is the gift that keeps on giving

Check it out in combination with @nextjs docs.convex.dev

Guillermo Rauch's avatar

Guillermo Rauch @rauchg

@convex is everything I wanted Firebase to be. Such a great tool. Feels illegal to know about this before others.

Timothy Stepro's avatar

Timothy Stepro @tim_stepro

#dailytip if you are a #react developer and want an alternative to Firebase, you might want to give @convex a try. It has amazing ReactHooks with samples in #Javascript and #typescript and the price isn't bad. I'm not a Firebase expert but it looks like all features are there

urubatan's avatar

urubatan @urubatan

@convex feels like what I wanted Firebase and MongoDB Realm to be and more. Really enjoying the DX so far!

David Kim's avatar

David Kim @dvddkkim

I used @convex once to make sure our integration at @ClerkDev worked and the docs matched what we expected.

It's magical. I don't say that lightly. I think it's time to do a video on the channel.

James Perkins's avatar

James Perkins @james_r_perkins

I'm working on a new app build with @convex and I am *very* excited about the tech here

- DB schema defined in TS - end-to-end types (like if tRPC also set up your DB) - real-time updates Just Work™

Jason Lengstorf's avatar

Jason Lengstorf @jlengstorf

Managing an application's state has become easier, but the global state concept is still a pain for developers, which @convex aims to solve. I made a realtime application using @convex, @nextjs, and @auth0 and loved it.😍

Anshuman Bhardwaj's avatar

Anshuman Bhardwaj @sun_anshuman

Interesting tool of the week: convex.dev by @convex

We like: Makes it easy to build a live-updating web app with a document database. Strictly-typed fully relational schemas defined in code (optional, but recommended)

Console - Devtools, devtools, devtools's avatar

Console - Devtools, devtools, devtools @consoledotdev

#dailytip if you are a #react developer and want an alternative to Firebase, you might want to give @convex a try. It has amazing ReactHooks with samples in #Javascript and #typescript and the price isn't bad. I'm not a Firebase expert but it looks like all features are there

urubatan's avatar

urubatan @urubatan

I used @convex once to make sure our integration at @ClerkDev worked and the docs matched what we expected.

It's magical. I don't say that lightly. I think it's time to do a video on the channel.

James Perkins's avatar

James Perkins @james_r_perkins

@convex is everything I wanted Firebase to be. Such a great tool. Feels illegal to know about this before others.

Timothy Stepro's avatar

Timothy Stepro @tim_stepro

I think @convex might be the best DB I've ever used

Robin's avatar

Robin @robinxpfp

#dailytip if you are a #react developer and want an alternative to Firebase, you might want to give @convex a try. It has amazing ReactHooks with samples in #Javascript and #typescript and the price isn't bad. I'm not a Firebase expert but it looks like all features are there

urubatan's avatar

urubatan @urubatan

I used @convex once to make sure our integration at @ClerkDev worked and the docs matched what we expected.

It's magical. I don't say that lightly. I think it's time to do a video on the channel.

James Perkins's avatar

James Perkins @james_r_perkins

@convex is everything I wanted Firebase to be. Such a great tool. Feels illegal to know about this before others.

Timothy Stepro's avatar

Timothy Stepro @tim_stepro

I think @convex might be the best DB I've ever used

Robin's avatar

Robin @robinxpfp

Happy to see more first-class clerk x convex integration

There's such a major architecture shift around Serverless + Edge + React + Typescript that (imo) it's unlikely sql is still the right abstraction

Very compelling that convex is approaching this from first principles

Colin | Clerk.com's avatar

Colin | Clerk.com @tweetsbycolin

I'm working on a new app build with @convex and I am *very* excited about the tech here

- DB schema defined in TS - end-to-end types (like if tRPC also set up your DB) - real-time updates Just Work™

Jason Lengstorf's avatar

Jason Lengstorf @jlengstorf

@convex feels like what I wanted Firebase and MongoDB Realm to be and more. Really enjoying the DX so far!

David Kim's avatar

David Kim @dvddkkim

😱 @convex is the gift that keeps on giving

Check it out in combination with @nextjs docs.convex.dev

Guillermo Rauch's avatar

Guillermo Rauch @rauchg

Happy to see more first-class clerk x convex integration

There's such a major architecture shift around Serverless + Edge + React + Typescript that (imo) it's unlikely sql is still the right abstraction

Very compelling that convex is approaching this from first principles

Colin | Clerk.com's avatar

Colin | Clerk.com @tweetsbycolin

I'm working on a new app build with @convex and I am *very* excited about the tech here

- DB schema defined in TS - end-to-end types (like if tRPC also set up your DB) - real-time updates Just Work™

Jason Lengstorf's avatar

Jason Lengstorf @jlengstorf

@convex feels like what I wanted Firebase and MongoDB Realm to be and more. Really enjoying the DX so far!

David Kim's avatar

David Kim @dvddkkim

😱 @convex is the gift that keeps on giving

Check it out in combination with @nextjs docs.convex.dev

Guillermo Rauch's avatar

Guillermo Rauch @rauchg

Managing an application's state has become easier, but the global state concept is still a pain for developers, which @convex aims to solve. I made a realtime application using @convex, @nextjs, and @auth0 and loved it.😍

Anshuman Bhardwaj's avatar

Anshuman Bhardwaj @sun_anshuman

Interesting tool of the week: convex.dev by @convex

We like: Makes it easy to build a live-updating web app with a document database. Strictly-typed fully relational schemas defined in code (optional, but recommended)

Console - Devtools, devtools, devtools's avatar

Console - Devtools, devtools, devtools @consoledotdev

Next + Convex (all in typescript)

Vs

Angular (typescript) + Django (python) + Postgres + S3 + Websocket DIY + SQS + IaC + DIY e2e type safety

🤔

WebDevCody's avatar

WebDevCody @webdevcody

@convex Simple. Fast. Realtime.

AndyOz's avatar

AndyOz @andy_austin_dev

Managing an application's state has become easier, but the global state concept is still a pain for developers, which @convex aims to solve. I made a realtime application using @convex, @nextjs, and @auth0 and loved it.😍

Anshuman Bhardwaj's avatar

Anshuman Bhardwaj @sun_anshuman

Interesting tool of the week: convex.dev by @convex

We like: Makes it easy to build a live-updating web app with a document database. Strictly-typed fully relational schemas defined in code (optional, but recommended)

Console - Devtools, devtools, devtools's avatar

Console - Devtools, devtools, devtools @consoledotdev

Next + Convex (all in typescript)

Vs

Angular (typescript) + Django (python) + Postgres + S3 + Websocket DIY + SQS + IaC + DIY e2e type safety

🤔

WebDevCody's avatar

WebDevCody @webdevcody

@convex Simple. Fast. Realtime.

AndyOz's avatar

AndyOz @andy_austin_dev

Integrations

Convexlovesyour favorite frameworks

Connect your backend to your client libraries and frameworks

Learn more

React logo\
React\
\
Quickstart guide
React Native logo\
React Native\
\
Quickstart guide
Python logo\
Python\
\
Quickstart guide

Next.js logo\
Next.js\
\
Quickstart guide
TanStack Start logo\
TanStack Start\
\
Quickstart guide
Rust logo\
Rust\
\
Quickstart guide

Remix logo\
Remix\
\
Quickstart guide
Vue logo\
Vue\
\
Quickstart guide
Svelte logo\
Svelte\
\
Quickstart guide

Get your app up and running in minutes

Start building

Convex logo

Product Sync Realtime Auth Open source AI coding Chef FAQ Pricing

Developers Docs Blog Components Templates Startups Champions Changelog Podcast LLMs.txt

Company About us Brand Investors Become a partner Jobs News Events Terms of service Privacy policy Security

Social Twitter Discord YouTube Luma LinkedIn GitHub

A Trusted Solution

  • SOC 2 Type II Compliant
  • HIPAA Compliant
  • GDPR Verified

©2025 Convex, Inc.

We use third-party cookies to understand how people interact with our site.

See our Privacy Policy to learn more.

DeclineAccept

网站信息

域名
convex.dev
收录路径
convex