Stack by Convex

return validators

Every GPU task I've run from a backend has the same problem: you fire off the job, then poll for results or wire up webhooks to know when it's done. This walkthrough shows a different approach. Convex triggers a GPU job on RunPod, and the RunPod worker calls mutations directly on Convex using the Python client. The frontend stays in sync through live queries. No polling, no webhook infrastructure. I'll walk through the full implementation using video background removal as the example, but the pattern works for any GPU workload — compression, transcription, object detection, whatever you need.

Jashwanth Peddisetty's avatar

Hamza, shares a year-long build from 10 tables to 70+ Convex modules serving web, mobile, and REST APIs through a single deployment with one backend handling everything.

Hamza Saleem's avatar

Learn how Convex Components simplify building ChatGPT-style streaming chat by eliminating WebSocket complexity through plug-and-play, reusable backend modules and React hooks.

Hyo Jang's avatar

Marketing Monday

The Convex Marketing Journey 2022-2026.

So how did our marketing messaging get to where it is today? Let's go over all of the different things that we tried and the main lessons we took away from each iteration of Convex's messaging and design.

Abhi Vaidyanatha's avatar

Authorization In Practice

How to think about and implement authorization in your app. Think through each layers: clients, middleware, RBAC, RLS, and more. All with the power of code and abstractions.

Ian Macartney's avatar

Argument validation without repetition: Advanced tips and tricks

A few more advanced techniques & helpers to further reduce duplication and accelerate your Convex workflow.

Anjana Vakil's avatar

Manage agent workflows with ease

With this new backend component, augment Agents to automatically save and search message history per-thread, providing realtime results across multiple tabs and users. Use it with the Workflow component to run reliably with retries and durability across server restarts.

Ian Macartney's avatar

New convex-helpers are available now for fetching streams of documents, merging them together, filtering them them out, and paginating the results. With these helpers, you can replicate patterns you may know from SQL: UNION ALL, JOIN, DISTINCT, GROUP BY, and WHERE clauses where index fields are skipped.

Lee Danilek's avatar

Here’s a cheatsheet with examples of conversions between SQL queries and Convex queries. This article is geared towards developers (and LLMs) who have familiarity with SQL and want to translate those familiar patterns into Convex queries. You'll learn how to `UNION`, `JOIN`, `DISTINCT`, do `WHERE` clauses, and `SELECT` fields.

Lee Danilek's avatar

It can be tough to wrangle types to behave how you want them to. Thankfully, Convex was designed to make the experience with types perfect. Learn why that's the case here.

Anjana Vakil's avatar

Explore techniques to improve transaction throughput and concurrency in ACID databases by reducing conflicts and optimizing database reads. This guide covers patterns like Queue, Hot and Cold Tables, and Predicate Locking with clear examples using Convex, providing developers with tools to handle high-throughput workflows effectively.

Lee Danilek's avatar

You can write a Convex query whose structure -- which index/order/filters to apply, if any -- depends on runtime factors. This article gives a recipe for building queries dynamically.

Lee Danilek's avatar

Convex's migrations component makes it easy and safe to run complex database migrations without causing any interruption to live traffic.

Jamie Turner's avatar

Ian Macartney's avatar

Or how I learned to love BlockNote, Tiptap and ProseMirror OT sync.

Sync collaborative documents with Convex

Ian Macartney's avatar

Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.

Building a collaborative task list using Automerge CRDTs and Convex sync

Sujay Jayakar's avatar

Object sync engines manage a rich object graph across multiple clients and a centralized server and are a great fit for building local-first apps.

An Object Sync Engine

How to connect Convex to RunPod for serverless GPU workloads

Every GPU task I've run from a backend has the same problem: you fire off the job, then poll for results or wire up webhooks to know when it's done. This walkthrough shows a different approach. Convex triggers a GPU job on RunPod, and the RunPod worker calls mutations directly on Convex using the Python client. The frontend stays in sync through live queries. No polling, no webhook infrastructure. I'll walk through the full implementation using video background removal as the example, but the pattern works for any GPU workload — compression, transcription, object detection, whatever you need.

Jashwanth Peddisetty's avatar

Building a 70-Module Convex Backend: Web, Mobile & API in One Deployment

Hamza, shares a year-long build from 10 tables to 70+ Convex modules serving web, mobile, and REST APIs through a single deployment with one backend handling everything.

Hamza Saleem's avatar

How to Build Streaming Chat Apps with Convex's Plug-and-Play Components

Learn how Convex Components simplify building ChatGPT-style streaming chat by eliminating WebSocket complexity through plug-and-play, reusable backend modules and React hooks.

Hyo Jang's avatar

The video walks through an experiment in “de-lock-in-ifying” a small Convex app: starting with the basic TanStack Start template, the author recreates Convex queries, mutations and actions as TanStack Start server functions; swaps Convex’s reactive data layer for React Query (with manual cache invalidation); and replaces Convex’s built-in cloud database with a self-hosted Postgres instance accessed via Drizzle ORM—eventually wrapping Drizzle in a Convex-style API so most original code can be copy-pasted. They also bolt on transactions, discuss substitutes for other Convex features (file storage, realtime, auth, scheduling, search, etc.), and note that exporting Convex data is straightforward. The upshot: you can migrate off Convex without huge code changes, but you trade Convex’s “batteries-included” simplicity for extra infrastructure to manage—so the easiest escape hatch is still running Convex in self-hosted mode.

Mike Cann's avatar

Migrating data from Postgres to Convex

This guide will help you migrate data to Convex from Postgres on any provider (Supabase, Neon, RDS, etc).

Nipunn Koorapati's avatar

Ian Macartney's avatar

Cover image for the video

14:50

Building an AI chat app? Convex’s Persistent Text Streaming keeps conversations flowing—even across page reloads or tab switches—by storing and syncing chat data in real time. This video shows how to stream responses live, reduce bandwidth waste, and boost performance using Convex’s serverless backend. Say goodbye to broken chat experiences and hello to seamless, reliable interactions.

Mike Cann's avatar

Why I picked Convex over Firebase, Supabase, and Neon for my app

Building a language learning app meant I needed a backend that could handle realtime sync, multilingual support, and type-safe code. I didn’t start with Convex—I evaluated Firebase, PlanetScale, Supabase, Neon, and others first. Each had tradeoffs: Firebase felt disjointed and buggy; PlanetScale lacked international support; Supabase leaned too hard into SQL; and Neon made realtime too complicated. What made Convex different was how little backend glue I needed to write. Realtime sync just worked. TypeScript felt native. My frontend felt alive without hacks. It felt like hiring a backend team on day one. A year later, I’m still shipping fast—and glad I made the switch. This post breaks down what I found, what failed, and why Convex ended up being the best database for a modern TypeScript app like LanguageHopper.

Matt Luo's avatar

Cover image for the video

22:19

Choosing a backend? This video breaks down Firebase vs Convex with a clear developer lens. Whether you’re building your first app or optimizing for AI workflows, you’ll get a side-by-side view of how these two platforms really stack up. You’ll see how Firebase’s flexible NoSQL setup compares to Convex’s structured, type-safe model—and why that matters for scaling, security, and speed. From real-time syncing and server-side queries to access control, authentication, and vendor lock-in, this video covers it all. Ideal for developers who want a modern, AI-ready backend without sacrificing performance or control.

Mike Cann's avatar

So how did our marketing messaging get to where it is today? Let's go over all of the different things that we tried and the main lessons we took away from each iteration of Convex's messaging and design.

Abhi Vaidyanatha's avatar

Jamie Turner's avatar

Consider this our declaration of permanent disengagement from “bar chart wars.” It’s good dev marketing, but it’s a waste of time.

On Competitive Benchmarks

Jordan Hunt's avatar

Over the past few months, we have built and grown Chef into the only AI app builder that knows backend. But, this process didn’t start with Chef. It started with building the Convex, the database that Chef is built on top of.

how chef works

Jordan Hunt's avatar

Learn how to write better apps using AI app builders like Chef by Convex with these five expert tips from Jordan Hunt, prompt engineer at Convex. This guide covers how to build simple MVPs, keep prompts under 300 words, provide clear UI and design instructions, use AI tools like ChatGPT to refine your prompts, and recover quickly when things go off track. Includes real app examples like a habit tracker, to-do list, and finance tracker—all built with Chef. Perfect for developers building full-stack apps with AI.

Chef Cookbook: Tips on working with Convex’s AI app builder

how chef works

Over the past few months, we have built and grown Chef into the only AI app builder that knows backend. But, this process didn’t start with Chef. It started with building the Convex, the database that Chef is built on top of.

Jordan Hunt's avatar

AI Agents (and humans) do better with good abstractions

Chef by Convex builds real full-stack apps in one prompt—Notion, Slack, and more. It works because Convex’s abstractions are simple enough for both humans and AI to use. Built-in features and plug-and-play components let developers skip boilerplate and ship fast.

Emma Forman Ling's avatar

Cover image for the video

22:21

Claude 4 is here, and developers are putting it to the test. This video skips the benchmarks and dives into real-world builds—like an Instagram clone and a multiplayer Tic-Tac-Toe app—using Claude 4 with Convex and Chef. If you’re deciding between Claude 4 and 3.5 for agentic codegen, backend setup, or Convex-based workflows, this walkthrough shows the good, the bad, and the frustrating. From schema generation to real-time uploads and env var debugging, you’ll see where Claude 4 outperforms—and where Claude 3.5 still holds its ground. Ideal for devs building modern fullstack apps who want to see Claude in action, not just theory.

Mike Cann's avatar

Learn how to write better apps using AI app builders like Chef by Convex with these five expert tips from Jordan Hunt, prompt engineer at Convex. This guide covers how to build simple MVPs, keep prompts under 300 words, provide clear UI and design instructions, use AI tools like ChatGPT to refine your prompts, and recover quickly when things go off track. Includes real app examples like a habit tracker, to-do list, and finance tracker—all built with Chef. Perfect for developers building full-stack apps with AI.

Jordan Hunt's avatar

Convex compared Claude 3.5 Sonnet, GPT-4.1, and Gemini 2.5 Pro to see which LLM works best for building full-stack apps with Convex Chef, the new AI Agent app developer tool. Claude stood out for its precise backend coding and function calling, while Gemini made impressive UIs, and GPT offered solid speed and value.

Jordan Hunt's avatar

Agents rely on long-lived workflows, but when happens when they fail midway through? Here are the tools you need to manage correctness and reliability: transactions, idempotency, retries, durable functions, journaling, and state machines. The missing abstraction layer for agentic is durable workflows, which bring them all together.

Ian Macartney's avatar

With this new backend component, augment Agents to automatically save and search message history per-thread, providing realtime results across multiple tabs and users. Use it with the Workflow component to run reliably with retries and durability across server restarts.

Ian Macartney's avatar

I reimplemented Mastra’s agentic workflows with durable functions in Convex, and it was the wrong decision. Look at three common strategies (reimplementation, API wrapping, and “blessed” plugin paths), along with learnings along the way and reflections on what I’d do differently next time. TL;DR: Do less, do it smarter, and prototype faster.

Ian Macartney's avatar

AI coding is here: The most productive developers are leveraging AI to speed up their workflows. This ranges from asking models questions about system design to letting AI take the driver's seat with tools like Cursor Composer.

Jordan Hunt's avatar