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
Cover image for the video
08:22
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
Jamie Turner
2 days ago
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
23 days 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
2 months ago
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
2 months 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
3 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
3 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
5 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
6 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
6 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
Building Type-Safe Rust Applications with Convex: Introducing convex-typegen from CodingWIthJamal - a tool that brings Convex's type safety and developer experience to the Rust ecosystem.
Jamal Lyons's avatar
Jamal Lyons
20 days ago
Cover image for the video
07:19
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
24 days 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
a month 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
a month 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
2 months 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"
As the newest member of the Convex team I am keen to find out how the magic works. Join me as I go spelunking through the codebase and uncover how the API generation actually works under the covers.
picture of a cave and representation of an api to represent code spelunking
A good set of values can be critically important in establishing a team that stands for something. This post outlines why company values are important, what characteristics good and bad company values have, and how to run a process to determine your company values. This applies equally well to a company or team or any other organization.
The Convex team actually enjoying working together
Today is my first day working for Convex 🎉, so I thought I’d take the opportunity to share my thoughts on why I decided to join and what excites me about the technology.
briefcase with michael cann's face and arrows to represent changing careers
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
24 days 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
6 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
6 months ago
Implementing "work stealing" - a workload distribution strategy - using Convex's reactive database.
Ian Macartney's avatar
Ian Macartney
7 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
10 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
a year 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