Bright ideas and techniques for building with Convex.

Fundamentals

Caching In: Defining, Optimizing, and Invalidating Your Cache
A full exploration of the definition of caching, when you should care about it, and the philosophy of owning it yourself.
Jamie Turner's Profile image
Jamie Turner
9 days ago
Automatically Retry Actions
Learn how to automatically retry actions in Convex while also learning a little about scheduling, system tables, and function references.
James Cowling's Profile image
James Cowling
3 months ago
Lightweight Migrations
Patch all of your data in your database table with the bulk edit feature on the Convex dashboard, without writing migration code.
Ian Macartney's Profile image
Ian Macartney
3 months ago
Set up ESLint for best practices
ESLint is a powerful tool that goes beyond simply type checking. We go over how to set it up and implement some basic workflows with the
Ian Macartney's Profile image
Ian Macartney
3 months ago
Uploading files from React Native or Expo
Step by step guide to take a file URI provided by Expo media APIs and upload it to Convex in React Native.
Indy Khare's Profile image
Indy Khare
3 months ago
Types and Validators in TypeScript: A Convex Cookbook
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 Profile image
Anjana Vakil
6 months ago
A New Command to Start Building Faster: npm create convex
There’s a new fastest way to start building a new app on Convex. Use our new magical command, npm create convex, to spin up a new Convex app from a preexisting template.
Convex's Profile image
Convex
7 months ago
The Magic of Embeddings
Embeddings, why they’re useful, and how we can store and use them in Convex.
Ian Macartney's Profile image
Ian Macartney
a year ago
Relationship Structures: Let's Talk About Schemas
In this post we’ll look at some patterns for structuring relationships in the Convex database.
Ian Macartney's Profile image
Ian Macartney
a year ago
Intro to Migrations
There are as many ways to migrate data as there are databases, but here’s some basic information to set the stage.
Ian Macartney's Profile image
Ian Macartney
a year ago
Everyone Can Be a Full-Stack Engineer
Alex Cole discusses dynamic web apps, how serverless solutions compare to in-house stacks, and how product development changes when individual engineers can own features end-to-end.
Alex Cole's Profile image
Alex Cole
a year ago
5 Dashboard Tricks
Did you know you can use the Convex Dashboard to run functions, enter seed data, filter & delete data, upload files, and more?
Ian Macartney's Profile image
Ian Macartney
a year ago
Don't Drop ACID
When your database supports ACID semantics, you're free to write code the intuitive way and ignore the complexities of concurrency and failure.
Jamie Turner's Profile image
Jamie Turner
a year ago
Fully Reactive Pagination
Paginating over large datasets is tricky when the data is changing. Naive approaches result in missing or duplicated data. The trick is to rewrite limit queries (fetch 5 items) into range queries (fetch between cursors). Convex handles this automatically!
Alex Cole's Profile image
Alex Cole
a year ago
Intro to Convex Query Performance
How do I ensure my Convex database queries are fast and efficient? When should I define an index? What is an index? This document explains how you should think about query performance in Convex by describing a simplified model of how queries and indexes function.
Alex Cole's Profile image
Alex Cole
2 years ago
Backend Matters (Making Fast5 #2)
Why does anything really need to run on the server anymore? And even if it does, do I, the developer, need to be so involved? Yes! Even in a serverless world, the backend computing context being a real, discrete environment that you have control and influence over is not only necessary but hugely beneficial.
Jamie Turner's Profile image
Jamie Turner
2 years ago
Convex vs. Relational Databases
Relational databases are powerful tools for persisting data, but using them to build interactive web apps requires a lot of work. A web app architecture built on a relational database is an entire cluster of databases, backends, caching nodes, and Pub/Sub servers. And even after you invest in all of that infrastructure you'll still need to explicitly define your database schema upfront and write cumbersome SQL queries. At Convex we believe that web developers shouldn't have to worry about any of this. We can handle the servers, caching, and reactivity and you can focus on your product.
Alex Cole's Profile image
Alex Cole
2 years ago