Walkthroughs
Cron Jobs in User Space![James Cowling's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F0d9c8f867a3ecac0ce8efe417583dbab8ce458b3-400x400.jpg&w=3840&q=75)
Even though Convex supports the creation of cron jobs out of the box, until now, we've only supported static jobs. With user space crons, we now support the programmatic definition of crons at runtime.
![James Cowling's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F0d9c8f867a3ecac0ce8efe417583dbab8ce458b3-400x400.jpg&w=3840&q=75)
James Cowling
9 days ago
Take Control of Pagination![Lee Danilek's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c79cdc687d19f0b05080ae217ed23e00b239f79-594x603.jpg&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c79cdc687d19f0b05080ae217ed23e00b239f79-594x603.jpg&w=3840&q=75)
Lee Danilek
15 days ago
Build and Deploy a Full Stack AI Todoist Clone: Next.js, Convex & TypeScript![Ankita Kulkarni's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fbcc6d8c5244248d1f3213d447081a4d32932af1d-160x160.jpg&w=3840&q=75)
In this 7 hour tutorial, you will learn how to create an end-to-end full stack Todoist clone, with AI features to help you organize and suggest missing items in your list with adding, deleting tasks, authentication, search using Zod, Next.js, Convex, React, Next.js Auth V5 i.e. Auth.js, Google Sign in, ShadCN UI library, React hook forms, TypeScript, OPenAI, TailwindCSS and more.
![Ankita Kulkarni's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fbcc6d8c5244248d1f3213d447081a4d32932af1d-160x160.jpg&w=3840&q=75)
Ankita Kulkarni
a month ago
Streaming HTTP Responses using fetch![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a month ago
AI Chat with HTTP Streaming![Sarah Shader's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F7047febd1fcf4e4b44d4da9f199c07d842acf23b-1365x1418.jpg&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F7047febd1fcf4e4b44d4da9f199c07d842acf23b-1365x1418.jpg&w=3840&q=75)
Sarah Shader
2 months ago
Convex with Auth.js (NextAuth)![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Learn how to use Auth.js with your Next.js server and Convex backend to build a full-featured authentication system.
![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
3 months ago
Full Stack Tutorial – Fiverr Clone with NextJS, React, Convex, Typescript, Tailwind CSS, ShadCN![freeCodeCamp's Profile image](https://cdn.sanity.io/images/ts10onj4/production/bbfa33a202e8612d49b6c1ed05c1fdd8e4001566-712x484.svg)
Check this video out for an in-depth 6 hour tutorial on building your own version of Fiverr using Convex.
freeCodeCamp
3 months ago
Build and Deploy a Full Stack WhatsApp Clone with AI | Video Calls, Screen Sharing | React.js, TypeScript![As a Programmer's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F131e95803244f47c9a0c8bbb8c0f2f1ccd84c59e-176x176.jpg&w=3840&q=75)
A tutorial on how to create a clone of WhatsApp with OpenAI built with React.js, TypeScript, TailwindCSS Convex, Clerk and ZegoCloud.
![As a Programmer's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F131e95803244f47c9a0c8bbb8c0f2f1ccd84c59e-176x176.jpg&w=3840&q=75)
As a Programmer
4 months ago
Developing with the Open-Source backend![Nipunn Koorapati's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F356ab217d41d241d51c70d467f187322bdab16fa-384x384.webp&w=3840&q=75)
Read this article to learn how you can develop against our open-source backend using our packaged binaries.
![Nipunn Koorapati's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F356ab217d41d241d51c70d467f187322bdab16fa-384x384.webp&w=3840&q=75)
Nipunn Koorapati
4 months ago
Backends Should be Designed for Product Developers![James Cowling's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F0d9c8f867a3ecac0ce8efe417583dbab8ce458b3-400x400.jpg&w=3840&q=75)
Our CTO James gave a talk at Developer Week 2024 about how backends have been letting down product developers by not providing clean abstractions that empower development without introducing unnecessary complexity.
James outlines four major failures of the status quo:
* Bad ideas in query models
* Bad ideas in type systems
* Bad ideas in caching and performance
* Bad ideas in data sync
He explains why these exist, how they are holding back developers, and discusses recent innovations at Convex that address these four areas.
![James Cowling's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F0d9c8f867a3ecac0ce8efe417583dbab8ce458b3-400x400.jpg&w=3840&q=75)
James Cowling
5 months ago
Build a File Storage App with Role Based Authorization (Next.js, Shadcn, Typescript)![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody guides viewers in creating a comprehensive full stack file storage application on YouTube. The tutorial covers features like organizations, file upload, management, role-based authorization, authentication, cron deletes, favorites, trash functionality, and various UI components such as dialogs, modals, toasts, dropdowns, and more.
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
5 months ago
Build and Deploy Eraser.io App Clone: Full Stack React App - Next.js, Typescript, Tailwind Css![TubeGuruji's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c6fbc305578eeb28c1f878826b386d7e9c2c0c4-64x64.jpg&w=3840&q=75)
A tutorial on how to create a fully functional clone of Eraser.io with Convex using Next.js, React, TypeScript, and Tailwind CSS.
![TubeGuruji's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c6fbc305578eeb28c1f878826b386d7e9c2c0c4-64x64.jpg&w=3840&q=75)
TubeGuruji
5 months ago
How I built NotesGPT – a full-stack AI voice note taking app![Hassan El Mghari's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F8d384e248d778e8d9bd5f1ee56d0b8b05b236add-400x400.jpg&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F8d384e248d778e8d9bd5f1ee56d0b8b05b236add-400x400.jpg&w=3840&q=75)
Hassan El Mghari
5 months ago
Texting your Web App to Create Posts![Jason Lengstorf's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bbb8a8f254d2ae7bdea482a610b37e35b384246-400x400.webp&w=3840&q=75)
In this tutorial, learn how to use Convex HTTP actions to set up a webhook that handles incoming text messages and stores them for display in a React web app. On top of that, it manages user auth and permissions. This is a legitimately complex workflow that can be built in under an hour using a couple hundred lines of code.
![Jason Lengstorf's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bbb8a8f254d2ae7bdea482a610b37e35b384246-400x400.webp&w=3840&q=75)
Jason Lengstorf
6 months ago
Building a Subscription Based SaaS with Stripe![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
This is a full stack tutorial video includes subscriptions powered by Stripe with Convex as the backend, Clerk for authentication, and Next.js for the frontend.
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
6 months ago
The most exciting 4 hour coding challenge![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Tag along as WebDevCody participates in LearnWithJason's coding challenge where 4 developers use the same technologies to create the best project possible in 4 hours.
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
7 months ago
Wait a minute, won't you? (Add a waitlist to your product)![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Does your app need to limit the amount of users that can use it at a time? You might need to add a waitlist, which you will learn to build in this post.
![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
8 months ago
Who's on Call? Learn to Sync Pagerduty with Slack![Gautam Gupta's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F766e3fd855f25f2c0bef103d52c210cdade93245-384x384.webp&w=3840&q=75)
Syncing your Pagerduty instance with Slack is a good way to stay on top of your on-call schedule. We cover syncing Pagerduty information with a Slack channel.
![Gautam Gupta's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F766e3fd855f25f2c0bef103d52c210cdade93245-384x384.webp&w=3840&q=75)
Gautam Gupta
8 months ago
Are Vector Databases Dead?![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
8 months ago
Build AI Chat with Convex Vector Search![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
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 Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
8 months ago
Build AI Chat with LangChain and Convex![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
In this second post in our series, we’ll build an AI-powered chat interface using LangChain and its new Convex integration.
![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
8 months ago
Build AI Chat with OpenAI's Assistants API![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
On November 7th OpenAI released its Assistants API, enabling chat bot with context retrieval implementations without needing a messages or vector database. In this post, we’ll cover how to leverage this API to build a fully functioning AI chat interface.
![Michal Srb's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fe8231f5314b107688be9636bd8a855e820cbca20-512x512.png&w=3840&q=75)
Michal Srb
8 months ago
Adding Data Integration to Your Convex Application with Fivetran![Nipunn Koorapati's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F356ab217d41d241d51c70d467f187322bdab16fa-384x384.webp&w=3840&q=75)
Launching our official Convex Fivetran connector.
![Nipunn Koorapati's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F356ab217d41d241d51c70d467f187322bdab16fa-384x384.webp&w=3840&q=75)
Nipunn Koorapati
9 months ago
Fullstack Notion Clone: Next.js 13, React, Convex, Tailwind | Full Course 2023![Code With Antonio's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F48ce1331b5f4090f7cdb47bf5b236b193568db46-176x176.jpg&w=3840&q=75)
Hi all 👋 In this 8 hour tutorial you will learn how to create an end-to-end fullstack notion clone, all with proper notion-style editor, cover images, nested documents, publishing documents to public, real-time database and more.
![Code With Antonio's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F48ce1331b5f4090f7cdb47bf5b236b193568db46-176x176.jpg&w=3840&q=75)
Code With Antonio
10 months ago
I trained my own AI voice model to teach my kid![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Generating rhyming words via GPT-4, along with Dall-E cartoon images and ElevenLabs speaking with a specific voice to make a game to teach words.
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
10 months ago
React Native Realtime Chat (Expo, File Upload, Typescript)![Simon Grimm's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fbdc6b4d9a70602336a30b4c9810c656afbb0f048-176x176.jpg&w=3840&q=75)
In this video, you will learn to build a powerful realtime chat with React Native and use Convex as the backend. From creating groups to uploading images and styling messages you will learn all the skills you need to build a React Native chat!
![Simon Grimm's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fbdc6b4d9a70602336a30b4c9810c656afbb0f048-176x176.jpg&w=3840&q=75)
Simon Grimm
10 months ago
Using Convex with Next.js Quickstart![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
A quick start guide for using Convex with Next.js
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
a year ago
How to code an AI powered Text Adventure Game (Next.js, Convex, OpenAI, DALL-E)![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Build a text adventure game with Next.js, Convex, OpenAI, and DALL-E. Full stack walkthrough.
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
a year ago
Building AI Town's Backend: Character Identities![Anjana Vakil's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F26b7f9ae04ef51725d117901c29166d930328d29-1080x1080.jpg&w=3840&q=75)
Learn more about how AI Town works and how to customize it. In this post, we'll dig into how character identities are represented: how to alter them, and how to add entirely new characters.
![Anjana Vakil's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F26b7f9ae04ef51725d117901c29166d930328d29-1080x1080.jpg&w=3840&q=75)
Anjana Vakil
a year ago
The Next Level Firebase for Modern Developers![Jack Herrington's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2a30bc0ae2f04df2d241c9c58d8c03d681c53627-176x176.jpg&w=3840&q=75)
Check out Convex, an incredibly well-designed Firebase alternative that provides a realtime database, object storage, server functions, http API hosting, cron jobs and more!
![Jack Herrington's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2a30bc0ae2f04df2d241c9c58d8c03d681c53627-176x176.jpg&w=3840&q=75)
Jack Herrington
a year ago
Testing Your App: How to Generate Fake Data![Nicolas Ettlin's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F1ac93a575829f65dcb9deec8565971180ec23b1b-306x306.jpg&w=3840&q=75)
Learn how to generate fake data for your dev deployments using the Faker library
![Nicolas Ettlin's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F1ac93a575829f65dcb9deec8565971180ec23b1b-306x306.jpg&w=3840&q=75)
Nicolas Ettlin
a year ago
Get Typeform Data Into Convex![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Leverage Typeform while keeping the data in a powerful transactional application database.
![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Kate Rudolph
a year ago
How to Generate AI Images from Scribbles with Next.js![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Building a full stack app to generate images based on a prompt and user-provided sketch
![Web Dev Cody's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F5c1417465b5653024b2a3950607b9d216cfe4cc3-176x176.jpg&w=3840&q=75)
Web Dev Cody
a year ago
Building a full-stack AI storybook app with LangChain, Replicate, and OpenAI![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
So you have a pretty good grasp on web development, but you want to learn more about building with generative AI? You're not alone. In this live-coding course, follow along as we build a full-stack generative AI app using LangChain.js, Replicate, and OpenAI.
![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
a year ago
Moving From Airtable -> Convex![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Is your project in Airtable ready for more code and less no-code? I’ve published some code to help you migrate your data into Convex.
![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Kate Rudolph
a year ago
Convex gets Rusty with Santa![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
If you've been itching to write Convex programs in Rust, your time has come. We take the new Convex Rust crate for a spin by writing a distributed system simulation of Santa and his team working together at the North Pole. Yes, really.
![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
a year ago
Moderating ChatGPT Content: Full-Stack![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
In this post, we’ll look at how to use the moderation API to flag messages before sending them to Chat-GPT, and patterns for handling these errors in a full-stack React app.
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a year ago
Adding Personality to ChatGPT-3![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
How to store multiple personalities Convex and provide them to the chatGPT API, enabling changing personalities mid-conversation. This is a follow-up to Building a full-stack ChatGPT app.
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a year ago
Building a Full-Stack ChatGPT app![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Let's build a full-stack chat app to talk to ChatGPT on its new API!
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a year ago
Type-safe, data-driven apps, even if databases freak you out![Jason Lengstorf's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bbb8a8f254d2ae7bdea482a610b37e35b384246-400x400.webp&w=3840&q=75)
You can build a database-powered app with end-to-end type safety and real-time updates without needing to learn how to manage databases. This tutorial will show you how.
![Jason Lengstorf's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bbb8a8f254d2ae7bdea482a610b37e35b384246-400x400.webp&w=3840&q=75)
Jason Lengstorf
a year ago
Discord Bot Webhooks with Convex![Sarah Shader's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F7047febd1fcf4e4b44d4da9f199c07d842acf23b-1365x1418.jpg&w=3840&q=75)
Convex provides client libraries for storing and interacting with data, but sometimes we want a third-party app like Discord to interact with data in Convex. In this post, we use webhooks to build a simple Discord bot powered by Convex.
![Sarah Shader's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F7047febd1fcf4e4b44d4da9f199c07d842acf23b-1365x1418.jpg&w=3840&q=75)
Sarah Shader
a year ago
Testing React Components with Convex![Arnold Trakhtenberg's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F4f15f1b5bf88a631070c66706bd5b819ff6fd2d1-852x852.jpg&w=3840&q=75)
Oftentimes during testing we want to mock out our backend so we can unit test our UI components without talking to our actual server code.
In this article, we’ll explore options for testing React components that call Convex React hooks using mocking and dependency injection. To do this, I’ve written a sample TypeScript React app using the Vitest testing framework. The patterns presented in this post are also applicable to other JavaScript apps and frameworks.
![Arnold Trakhtenberg's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F4f15f1b5bf88a631070c66706bd5b819ff6fd2d1-852x852.jpg&w=3840&q=75)
Arnold Trakhtenberg
a year ago
End-to-End Encryption with Convex![Lee Danilek's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c79cdc687d19f0b05080ae217ed23e00b239f79-594x603.jpg&w=3840&q=75)
Implementing end-to-end encryption on top of Convex to build a secret-sharing app.
![Lee Danilek's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F3c79cdc687d19f0b05080ae217ed23e00b239f79-594x603.jpg&w=3840&q=75)
Lee Danilek
a year ago
Using Dall-E from Convex![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Use Convex to fetch an image from OpenAI’s image generation service based on a user-provided prompt.
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a year ago
Building a Multiplayer Game![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Building multiplayer games requires a lot of synchronization logic and event systems. However, using Convex, we get a lot of this for free! Follow along here as we build a complex multiplayer game on Convex, leveraging its reactive-by-default queries, transactional mutations, backend storage, and scheduled functions.
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
a year ago
Implementing Upvoting 4 Ways on Convex![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Implementing an "upvote" feature 4 ways with Convex.
![Kate Rudolph's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F58121456aeee0e1eb410d800a21e3dd5b4b2612a-200x200.jpg&w=3840&q=75)
Kate Rudolph
2 years ago
Implementing Presence with Convex![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Some patterns for incorporating presence into a web app leveraging Convex, and sharing some tips & utilities I built along the way.
![Ian Macartney's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F077753b63476b77fb111ba06d1bb538517033a54-3500x3500.jpg&w=3840&q=75)
Ian Macartney
2 years ago
Building an Application Portal on Convex![Web Development at Berkeley's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F206a96de934222cac427842592e36b401d7aadaf-200x200.jpg&w=3840&q=75)
Working with Convex has made our development workflow so much more streamlined—we no longer have to worry about the complexities of traditional frontend-backend communication, enabling us to build out the core of our new application portal at a blazing-fast speed.
![Web Development at Berkeley's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F206a96de934222cac427842592e36b401d7aadaf-200x200.jpg&w=3840&q=75)
Web Development at Berkeley
2 years ago
Build a Reactive Backend for a Web App![Tom Ballinger's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee2709d9d4fc88ec79d6e72ea01f7b2ee09afd0e-3024x2671.png&w=3840&q=75)
Convex is a JS-powered database and backend for web apps that’s reactive — you can use it to create endpoints and queries that update automatically when data changes. Tom Ballinger will teach us how.
![Tom Ballinger's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee2709d9d4fc88ec79d6e72ea01f7b2ee09afd0e-3024x2671.png&w=3840&q=75)
Tom Ballinger
2 years ago
Managing Reactivity with useBufferedState![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Reactivity has taken a dominant position today within web app development. Our components and app state are all reactive, and the world has adapted–most would argue, for the better.
But has Convex gone too far? 😉
A new generation of serverless backends like Convex is recklessly spreading reactivity across our databases, server-side functions, and protocols, making global reactivity a new phenomenon. Shared global data is becoming reactive by default. Is this good for the world?
In this video, Jamie Turner explores one circumstance where this pervasive reactivity poses a challenge, and he builds one useful abstraction for taming over-reactivity and turning it back into a strength.
![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
2 years ago
Intro to Convex Query Performance![Alex Cole's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bae2b5c39ff0e1155897b4905218100291c4949-1461x1461.jpg&w=3840&q=75)
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](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F2bae2b5c39ff0e1155897b4905218100291c4949-1461x1461.jpg&w=3840&q=75)
Alex Cole
2 years ago
Backend Matters (Making Fast5 #2)![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
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](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
2 years ago
Local and Remote State (Making Fast5 #1)![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
While making Fast5, Convex's wordle-style multiplayer racing game, we ran into several interesting challenges. This week, let's dig into managing the combination of local and global state.
![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
2 years ago
Introducing Fast5![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
At Convex, we're creating a platform for managing global state for web developers. Unsurprisingly, we've found one of the best ways to improve our platform is to actually build stuff with it!
![Jamie Turner's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2Fee80addc4a0315dc3175c4a08f64f8bc294568bd-400x400.jpg&w=3840&q=75)
Jamie Turner
2 years ago
Building reactive web apps on Convex![Sujay Jayakar's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F335db9757b2839925ac82b93a45f91ccfc3c6db7-300x300.webp&w=3840&q=75)
Sujay (@sujayakar314) walks through how easy it is to build a dynamic web app with global state on Convex. Join the Convex beta at https://convex.dev.
![Sujay Jayakar's Profile image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fts10onj4%2Fproduction%2F335db9757b2839925ac82b93a45f91ccfc3c6db7-300x300.webp&w=3840&q=75)
Sujay Jayakar
2 years ago