Stack logo
Sync up on the latest from Convex.
Featured articles
All articles
Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.
Building a collaborative task list using Automerge CRDTs and Convex sync
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.
We can categorize sync platforms across nine dimensions: data size, data update rate, the structure of the data, input latency, offline support, number of concurrent clients, centralization, flexibility, and consistency.
Convex Components enable an ecosystem of powerful building blocks to reduce the amount of code you have to write and maintain yourself. Geospatial search, Expo push notifications, LaunchDarkly feature flags, durable function workflows, and more.
Sync platforms like Convex simplify distributed state management, ensuring that developers can focus on building their applications rather than managing backend complexities.
Featured videos
All videos
Building a collaborative task list using Automerge CRDTs and Convex sync
Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.
Ian Macartney's avatar
Ian Macartney
a day ago
multiple puzzle pieces connecting with circuitry to some main technology, to represent convex components.
Convex Components enable an ecosystem of powerful building blocks to reduce the amount of code you have to write and maintain yourself. Geospatial search, Expo push notifications, LaunchDarkly feature flags, durable function workflows, and more.
Ian Macartney's avatar
Ian Macartney
a month ago
Lightning bolt to represent trigger and alert on computer
Triggers automatically run code whenever data in a table changes. A library in the convex-helpers npm package allows you to attach trigger functions to your Convex database.
Lee Danilek's avatar
Lee Danilek
a month ago
Turns out, you can organize your Convex project across multiple repositories! Check out this guide on how to implement this in your project.
Jordan Hunt's avatar
Jordan Hunt
2 months ago
The term CRUD, or CRUD API, is often tossed around when interacting with databases or building backend APIs. This article will examine what CRUD is, what it’s suitable for, and its shortcomings. Finally, we’ll explore how to quickly implement a CRUD API using a modern backend like Convex.
Jamie Turner's avatar
Jamie Turner
2 months ago
Convex offers robust control over pagination with a powerful function, getPage, enabling complex edge cases. In this article, we go over how to use that function in your Convex app.
Lee Danilek's avatar
Lee Danilek
4 months ago
With Convex's magic query cache, Convex's powerful subscriptions are cached, not merely values. So you get fast, jank-free renders with no cache consistency or invalidation headaches.
Jamie Turner's avatar
Jamie Turner
5 months ago
Log streams like Axiom and Datadog can be used to provide powerful querying and alerting on logs and errors from your Convex functions, helping with debugging issues when they come up and providing early insights to detect smaller issues before they become bigger. This article covers how to do the several common things with either Axiom or Datadog hooked up as a Convex log stream including filtering to a request, logging structured metadata, and visualizing usage.
Sarah Shader's avatar
Sarah Shader
5 months ago
By leveraging HTTP actions with streaming, this chat app balances real-time responsiveness with efficient bandwidth usage. Users receive character-by-character updates to their own responses directly from ChatGPT, while other users see periodic updates, minimizing database bandwidth.
Sarah Shader's avatar
Sarah Shader
5 months ago
Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.
Building a collaborative task list using Automerge CRDTs and Convex sync
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
Indy, our Head of Product, led building Google Photos for Android. This is his story.
Sync symbol next to the google photos logo
Ever wondered what word sits perfectly between "sporty" and "practical"? Or perhaps "sweet" and "crunchy"? Midpoints is a new word game that gives you 10 chances to find the best match and scores you accordingly!
Tom Redman's avatar
Tom Redman
a day ago
Visual of vector embedding and how they work in the game Midpoints
Mike, a Senior Software Developer and Convex Champion, built “Mike Bot”—a virtual chatbot on his blog that captures his knowledge, experience, and personality—using Convex as the backend, along with OpenAI and a custom React UI.
Mike Cann's avatar
Mike Cann
9 days ago
Create an AI blog chatbot
Introducing v1, a SaaS starter inspired by Midday’s SaaS starter setup, featuring a boilerplate for mono repo management, subscription emails, and more—all tailored for Convex. This version includes built-in CRUD, theming, billing, and a streamlined CLI for setup; you can try it out at convex-v1.run and find the repo on GitHub.
Shawn Erquhart's avatar
Shawn Erquhart
14 days ago
Cover image for the video
12:02
Convex Components enable an ecosystem of powerful building blocks to reduce the amount of code you have to write and maintain yourself. Geospatial search, Expo push notifications, LaunchDarkly feature flags, durable function workflows, and more.
Ian Macartney's avatar
Ian Macartney
a month ago
multiple puzzle pieces connecting with circuitry to some main technology, to represent convex components.
I’m excited to announce Convex Swift, which unlocks the ability to build iOS and MacOS clients for your Convex app.
Convex for Swift illustration
The React Hook useState is probably used more than necessary. We'll go over how you can port those usages over to Convex with simple queries and mutations.
Celine Soeiro's avatar
Celine Soeiro
2 months ago
useState() with a hook extending from the text to represent react hooks
I was curious to see if I could prompt my way through developing an entire app with Cursor and Claude. It went pretty well - but there are some important caveats to keep in mind.
Tom Redman's avatar
Tom Redman
2 months ago
Screenshot of Cursor Composer with the text "Cursor, do my job for me"
It was my goal to create an API that both feels natural to Android developers who have kept up with modern application architecture principles, as well something that feels like a natural fit in the Convex ecosystem.
Image of phone with gears and pencil next to it to represent mobile dev.
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
Indy, our Head of Product, led building Google Photos for Android. This is his story.
Sync symbol next to the google photos logo
We can categorize sync platforms across nine dimensions: data size, data update rate, the structure of the data, input latency, offline support, number of concurrent clients, centralization, flexibility, and consistency.
A Map of Sync
Visual of vector embedding and how they work in the game Midpoints
Ever wondered what word sits perfectly between "sporty" and "practical"? Or perhaps "sweet" and "crunchy"? Midpoints is a new word game that gives you 10 chances to find the best match and scores you accordingly!
Tom Redman's avatar
Tom Redman
a day ago
Screenshot of Cursor Composer with the text "Cursor, do my job for me"
I was curious to see if I could prompt my way through developing an entire app with Cursor and Claude. It went pretty well - but there are some important caveats to keep in mind.
Tom Redman's avatar
Tom Redman
2 months ago
Icon of a person throwing a ball for a dog to fetch and a stream on the right, representing the post title
Learn the basics of HTTP streaming with Convex by re-implementing OpenAI's SDK using built-in fetch and async iterators. No npm dependencies needed.
Ian Macartney's avatar
Ian Macartney
5 months ago
By leveraging HTTP actions with streaming, this chat app balances real-time responsiveness with efficient bandwidth usage. Users receive character-by-character updates to their own responses directly from ChatGPT, while other users see periodic updates, minimizing database bandwidth.
Sarah Shader's avatar
Sarah Shader
5 months ago
Implementing "work stealing" - a workload distribution strategy - using Convex's reactive database.
Ian Macartney's avatar
Ian Macartney
6 months ago
I recently built a full-stack app called notesGPT. It allows you to record a voice note, transcribes it, and extract action items and display them as action items. It’s fully open source and comes equipped with authentication, storage, vector search, action items, and is fully responsive on mobile for ease of use.
Hassan El Mghari's avatar
Hassan El Mghari
9 months ago
Using Convex, 4 web devs built their own fullstack app based on this prompt: > Build a way to show real-time updates on the website for a Dungeons and Dragons-themed small business! See what they built, learn how they did it, and watch their reactions to each other's work in this installment of the "4 Web Devs, 1 App Idea" video series.
Jason Lengstorf's avatar
Jason Lengstorf
10 months ago
This year vector databases have sprung up like mushrooms to enable applications to retrieve context based on semantic search. A large portion of these applications have used the retrieved context to augment the ability of large language models (LLMs) in a pattern known as RAG. On November 7th OpenAI released its Assistants API, enabling the implementation of AI chat interfaces with context retrieval without needing a separate message store or vector database. Does this new API make vector databases obsolete?
Michal Srb's avatar
Michal Srb
a year ago
Convex is a full-stack development platform and cloud database, including built-in vector search. In this third post in our [series](https://stack.convex.dev/ai-chat-using-openai-assistants-api), we’ll build an AI-powered chat interface using Convex, with our own message storage and context retrieval.
Michal Srb's avatar
Michal Srb
a year ago