Convex Backend - Realtime Database & Functions
When to use this skill
-
Building real-time collaborative applications
-
Implementing reactive data that auto-updates
-
Writing Convex queries, mutations, and actions
-
Creating serverless backend functions with TypeScript
-
Implementing optimistic UI updates
-
Handling file uploads with Convex storage
-
Implementing authentication with Convex Auth
-
Designing Convex database schemas
-
Building chat applications or live dashboards
-
Creating applications with instant data sync
-
Implementing scheduled functions (crons)
-
Building backends without managing infrastructure
When to use this skill
-
Building realtime apps with Convex, implementing reactive queries, or managing backend logic with type-safe functions.
-
When working on related tasks or features
-
During development that requires this expertise
Use when: Building realtime apps with Convex, implementing reactive queries, or managing backend logic with type-safe functions.
Core Concepts
Queries (Read Data)
import { query } from './_generated/server';
import { v } from 'convex/values';
export const list = query({
args: {},
handler: async (ctx) => {
return await ctx.db.query('users').collect();
}
});
export const get = query({
args: { id: v.id('users') },
handler: async (ctx, args) => {
return await ctx.db.get(args.id);
}
});
Mutations (Write Data)
import { mutation } from './_generated/server';
export const create = mutation({
args: { name: v.string(), email: v.string() },
handler: async (ctx, args) => {
return await ctx.db.insert('users', args);
}
});
Resources
- Convex Docs