<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Stack</title>
        <link>https://stack.convex.dev</link>
        <description>Latest posts from Stack</description>
        <lastBuildDate>Mon, 06 Apr 2026 23:33:35 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Feed for Node.js</generator>
        <image>
            <title>Stack</title>
            <url>https://stack.convex.dev/logos/stack-dark@3x.png</url>
            <link>https://stack.convex.dev</link>
        </image>
        <copyright>©2026 Convex, Inc.</copyright>
        <item>
            <title><![CDATA[Site Up. Costs Down: Optimizing OpenClaw’s 1M Weekly Active Users ]]></title>
            <link>https://stack.convex.dev/optimizing-openclaw</link>
            <guid isPermaLink="false">https://stack.convex.dev/optimizing-openclaw</guid>
            <pubDate>Fri, 20 Mar 2026 14:00:00 GMT</pubDate>
            <description><![CDATA[ClawHub scaled from 0 to 1M visitors a week in just over a month. Here's how to the vibe-code went from "good enough for PMF" to "viral scale" by using good engineering practices.]]></description>
            <content:encoded><![CDATA[ClawHub scaled from 0 to 1M visitors a week in just over a month. Here's how to the vibe-code went from "good enough for PMF" to "viral scale" by using good engineering practices.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[When to and when not to use return validators]]></title>
            <link>https://stack.convex.dev/when-to-and-when-not-to-use-return-validators</link>
            <guid isPermaLink="false">https://stack.convex.dev/when-to-and-when-not-to-use-return-validators</guid>
            <pubDate>Fri, 27 Feb 2026 05:25:57 GMT</pubDate>
            <description><![CDATA[We're changing our guidance for LLMs on Returns Validators.]]></description>
            <content:encoded><![CDATA[We're changing our guidance for LLMs on Returns Validators.]]></content:encoded>
            <author>Stack</author>
            <category>TypeScript</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[I don't care about your database benchmarks (and neither should you)]]></title>
            <link>https://stack.convex.dev/on-competitive-benchmarks</link>
            <guid isPermaLink="false">https://stack.convex.dev/on-competitive-benchmarks</guid>
            <pubDate>Wed, 25 Feb 2026 16:50:00 GMT</pubDate>
            <description><![CDATA[Consider this our declaration of permanent disengagement from “bar chart wars.” It’s good dev marketing, but it’s a waste of time.]]></description>
            <content:encoded><![CDATA[Consider this our declaration of permanent disengagement from “bar chart wars.” It’s good dev marketing, but it’s a waste of time.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[The Convex Marketing Journey 2022-2026]]></title>
            <link>https://stack.convex.dev/marketing-journey</link>
            <guid isPermaLink="false">https://stack.convex.dev/marketing-journey</guid>
            <pubDate>Mon, 23 Feb 2026 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Marketing</category>
        </item>
        <item>
            <title><![CDATA[How to connect Convex to RunPod for serverless GPU workloads]]></title>
            <link>https://stack.convex.dev/convex-gpu-runpod-workflows</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-gpu-runpod-workflows</guid>
            <pubDate>Mon, 09 Feb 2026 22:33:22 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Building a 70-Module Convex Backend: Web, Mobile & API in One Deployment]]></title>
            <link>https://stack.convex.dev/tables-convex-modules-rest-apis</link>
            <guid isPermaLink="false">https://stack.convex.dev/tables-convex-modules-rest-apis</guid>
            <pubDate>Mon, 12 Jan 2026 23:35:54 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Efficient COUNT, SUM, MAX with the Aggregate Component ]]></title>
            <link>https://stack.convex.dev/efficient-count-sum-max-with-the-aggregate-component</link>
            <guid isPermaLink="false">https://stack.convex.dev/efficient-count-sum-max-with-the-aggregate-component</guid>
            <pubDate>Sat, 16 Aug 2025 05:46:00 GMT</pubDate>
            <description><![CDATA[Convex omits built-in aggregates because full-table scans don’t scale; the video shows how @convex-dev/aggregate (B-Tree powered) enables fast pagination, ranking, per-user stats, and randomization with fully reactive queries. It also covers keeping aggregates in sync via triggers/custom functions, backfilling with migrations, and the trade-offs that hint at possible platform-level support.]]></description>
            <content:encoded><![CDATA[Convex omits built-in aggregates because full-table scans don’t scale; the video shows how @convex-dev/aggregate (B-Tree powered) enables fast pagination, ranking, per-user stats, and randomization with fully reactive queries. It also covers keeping aggregates in sync via triggers/custom functions, backfilling with migrations, and the trade-offs that hint at possible platform-level support.]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
        </item>
        <item>
            <title><![CDATA[How to Build Streaming Chat Apps with Convex's Plug-and-Play Components]]></title>
            <link>https://stack.convex.dev/build-streaming-chat-app-with-persistent-text-streaming-component</link>
            <guid isPermaLink="false">https://stack.convex.dev/build-streaming-chat-app-with-persistent-text-streaming-component</guid>
            <pubDate>Fri, 15 Aug 2025 14:51:00 GMT</pubDate>
            <description><![CDATA[Learn how Convex Components simplify building ChatGPT-style streaming chat by eliminating WebSocket complexity through plug-and-play, reusable backend modules and React hooks.]]></description>
            <content:encoded><![CDATA[Learn how Convex Components simplify building ChatGPT-style streaming chat by eliminating WebSocket complexity through plug-and-play, reusable backend modules and React hooks.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Authorization In Practice]]></title>
            <link>https://stack.convex.dev/authorization</link>
            <guid isPermaLink="false">https://stack.convex.dev/authorization</guid>
            <pubDate>Thu, 07 Aug 2025 23:32:20 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Authentication</category>
            <category>Fullstack</category>
            <category>Patterns</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[How hard is it to migrate AWAY from Convex?]]></title>
            <link>https://stack.convex.dev/how-hard-is-it-to-migrate-away-from-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/how-hard-is-it-to-migrate-away-from-convex</guid>
            <pubDate>Mon, 04 Aug 2025 03:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Lessons from Building an AI App Builder on Convex]]></title>
            <link>https://stack.convex.dev/lessons-from-building-an-ai-app-builder</link>
            <guid isPermaLink="false">https://stack.convex.dev/lessons-from-building-an-ai-app-builder</guid>
            <pubDate>Thu, 31 Jul 2025 17:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Chef</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Why doesn't Convex have SELECT or COUNT?]]></title>
            <link>https://stack.convex.dev/why-doesn-t-convex-have-select-or-count</link>
            <guid isPermaLink="false">https://stack.convex.dev/why-doesn-t-convex-have-select-or-count</guid>
            <pubDate>Tue, 29 Jul 2025 02:01:00 GMT</pubDate>
            <description><![CDATA[Why DOESNT Convex provide a “SELECT” or a “COUNT”? Ill walk you thtough it..]]></description>
            <content:encoded><![CDATA[Why DOESNT Convex provide a “SELECT” or a “COUNT”? Ill walk you thtough it..]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
        </item>
        <item>
            <title><![CDATA[6 Steps Before Taking your Vibe-coded App to Production]]></title>
            <link>https://stack.convex.dev/vibe-coding-to-production</link>
            <guid isPermaLink="false">https://stack.convex.dev/vibe-coding-to-production</guid>
            <pubDate>Fri, 25 Jul 2025 16:31:00 GMT</pubDate>
            <description><![CDATA[Using tools like Lovable, Bolt, and Chef to start your product journey is straightforward. Moving them to production is less straightforward. I discuss the six things I wish I knew before moving my vibe-coded app to prod.]]></description>
            <content:encoded><![CDATA[Using tools like Lovable, Bolt, and Chef to start your product journey is straightforward. Moving them to production is less straightforward. I discuss the six things I wish I knew before moving my vibe-coded app to prod.]]></content:encoded>
            <author>Stack</author>
            <category>Chef</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Add Resend to your Convex App]]></title>
            <link>https://stack.convex.dev/convex-resend</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-resend</guid>
            <pubDate>Sat, 19 Jul 2025 17:00:00 GMT</pubDate>
            <description><![CDATA[Integrate Resend into your Convex apps and participate in our Convex X Resend hackathon.]]></description>
            <content:encoded><![CDATA[Integrate Resend into your Convex apps and participate in our Convex X Resend hackathon.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[How I Vibe-Coded a Real Service Using Convex Chef]]></title>
            <link>https://stack.convex.dev/vibe-coding-a-full-stack-ai-video-generation-app-with-chef</link>
            <guid isPermaLink="false">https://stack.convex.dev/vibe-coding-a-full-stack-ai-video-generation-app-with-chef</guid>
            <pubDate>Fri, 18 Jul 2025 16:43:00 GMT</pubDate>
            <description><![CDATA[Learn how a developer used Convex Chef to vibe code a completely functional, full-stack AI video generation platform called Cinemartie. The project cost around $150 and took just hours to build, delivering 4x the efficiency compared to traditional manual development.]]></description>
            <content:encoded><![CDATA[Learn how a developer used Convex Chef to vibe code a completely functional, full-stack AI video generation platform called Cinemartie. The project cost around $150 and took just hours to build, delivering 4x the efficiency compared to traditional manual development.]]></content:encoded>
            <author>Stack</author>
            <category>Chef</category>
        </item>
        <item>
            <title><![CDATA[Migrating data from Postgres to Convex]]></title>
            <link>https://stack.convex.dev/migrate-data-postgres-to-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/migrate-data-postgres-to-convex</guid>
            <pubDate>Tue, 08 Jul 2025 19:37:45 GMT</pubDate>
            <description><![CDATA[This guide will help you migrate data to Convex from Postgres on any provider (Supabase, Neon, RDS, etc).]]></description>
            <content:encoded><![CDATA[This guide will help you migrate data to Convex from Postgres on any provider (Supabase, Neon, RDS, etc).]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Database</category>
            <category>Schemas</category>
        </item>
        <item>
            <title><![CDATA[AI Agents (and humans) do better with good abstractions]]></title>
            <link>https://stack.convex.dev/ai-gents-humans-good-abstractions</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-gents-humans-good-abstractions</guid>
            <pubDate>Tue, 03 Jun 2025 16:21:11 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Streaming vs. Syncing: Why Your Chat App Is Burning Bandwidth]]></title>
            <link>https://stack.convex.dev/streaming-vs-syncing-why-your-chat-app-is-burning-bandwidth</link>
            <guid isPermaLink="false">https://stack.convex.dev/streaming-vs-syncing-why-your-chat-app-is-burning-bandwidth</guid>
            <pubDate>Fri, 23 May 2025 21:22:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Why I picked Convex over Firebase, Supabase, and Neon for my app]]></title>
            <link>https://stack.convex.dev/why-choose-convex-database-for-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/why-choose-convex-database-for-backend</guid>
            <pubDate>Fri, 23 May 2025 20:19:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Claude 4 is here but is is good at Convex?]]></title>
            <link>https://stack.convex.dev/claude-4-is-here-but-is-is-good-at-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/claude-4-is-here-but-is-is-good-at-convex</guid>
            <pubDate>Thu, 22 May 2025 21:14:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Convex vs Firebase: A Developer's Complete Guide]]></title>
            <link>https://stack.convex.dev/convex-vs-firebase-a-developer-s-complete-guide</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-vs-firebase-a-developer-s-complete-guide</guid>
            <pubDate>Tue, 13 May 2025 21:20:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[What is Convex & Why Should Developers Care?]]></title>
            <link>https://stack.convex.dev/what-is-convex-and-why-should-developers-care</link>
            <guid isPermaLink="false">https://stack.convex.dev/what-is-convex-and-why-should-developers-care</guid>
            <pubDate>Fri, 09 May 2025 21:17:00 GMT</pubDate>
            <description><![CDATA[Looking for a backend that feels built for how modern developers actually code? Convex is quickly becoming a go-to choice in 2025 for full-stack devs shipping real-time, collaborative apps without the backend overhead.

This video breaks down what Convex is and how it works—from schema design to reactivity. You’ll see how Convex blends TypeScript safety, live queries, serverless functions, and a schema-flexible database into one cohesive developer experience.

Whether you’re building a multiplayer game, a live doc editor, or a chat app, this walkthrough helps you figure out if Convex is the right fit—and how it stacks up to Firebase, Supabase, or Lambda-based setups.]]></description>
            <content:encoded><![CDATA[Looking for a backend that feels built for how modern developers actually code? Convex is quickly becoming a go-to choice in 2025 for full-stack devs shipping real-time, collaborative apps without the backend overhead.

This video breaks down what Convex is and how it works—from schema design to reactivity. You’ll see how Convex blends TypeScript safety, live queries, serverless functions, and a schema-flexible database into one cohesive developer experience.

Whether you’re building a multiplayer game, a live doc editor, or a chat app, this walkthrough helps you figure out if Convex is the right fit—and how it stacks up to Firebase, Supabase, or Lambda-based setups.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Chef Cookbook: Tips For Working with AI App Builders]]></title>
            <link>https://stack.convex.dev/chef-cookbook-tips-working-with-ai-app-builders</link>
            <guid isPermaLink="false">https://stack.convex.dev/chef-cookbook-tips-working-with-ai-app-builders</guid>
            <pubDate>Mon, 05 May 2025 20:31:36 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>AI</category>
            <category>Chef</category>
        </item>
        <item>
            <title><![CDATA[Argument Validation without Repetition]]></title>
            <link>https://stack.convex.dev/argument-validation-without-repetition</link>
            <guid isPermaLink="false">https://stack.convex.dev/argument-validation-without-repetition</guid>
            <pubDate>Mon, 05 May 2025 19:00:00 GMT</pubDate>
            <description><![CDATA[A few more advanced techniques & helpers to further reduce duplication and accelerate your Convex workflow.]]></description>
            <content:encoded><![CDATA[A few more advanced techniques & helpers to further reduce duplication and accelerate your Convex workflow.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>TypeScript</category>
        </item>
        <item>
            <title><![CDATA[Which LLM writes the best code? Convex Chef model comparison]]></title>
            <link>https://stack.convex.dev/chef-model-exploration</link>
            <guid isPermaLink="false">https://stack.convex.dev/chef-model-exploration</guid>
            <pubDate>Mon, 28 Apr 2025 21:59:01 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>AI</category>
            <category>Chef</category>
        </item>
        <item>
            <title><![CDATA[Set Up Transactional Email in Convex with Bluefox and AWS SES]]></title>
            <link>https://stack.convex.dev/bluefox-convex-developers-email-integration-guide</link>
            <guid isPermaLink="false">https://stack.convex.dev/bluefox-convex-developers-email-integration-guide</guid>
            <pubDate>Wed, 23 Apr 2025 16:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to integrate Bluefox—a modern developer-first email API built on AWS SES—with Convex, the reactive backend database. This guide covers everything from sending transactional and triggered emails to setting up real-time webhooks and preparing for production. You’ll walk away knowing how to configure your environment, build reusable email clients, handle errors safely, and manage multiple deployment environments with best practices for SES authentication, bounce handling, and email tracking.]]></description>
            <content:encoded><![CDATA[Learn how to integrate Bluefox—a modern developer-first email API built on AWS SES—with Convex, the reactive backend database. This guide covers everything from sending transactional and triggered emails to setting up real-time webhooks and preparing for production. You’ll walk away knowing how to configure your environment, build reusable email clients, handle errors safely, and manage multiple deployment environments with best practices for SES authentication, bounce handling, and email tracking.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Trying out Convex with a single command]]></title>
            <link>https://stack.convex.dev/anonymous-development</link>
            <guid isPermaLink="false">https://stack.convex.dev/anonymous-development</guid>
            <pubDate>Wed, 09 Apr 2025 16:00:13 GMT</pubDate>
            <description><![CDATA[You can now use Convex with a single command without needing to set up a Convex account. This means it’s even easier to persuade your friends to check out Convex and to share an app that others can download and run for themselves.]]></description>
            <content:encoded><![CDATA[You can now use Convex with a single command without needing to set up a Convex account. This means it’s even easier to persuade your friends to check out Convex and to share an app that others can download and run for themselves.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Agents Need Durable Workflows and Strong Guarantees]]></title>
            <link>https://stack.convex.dev/durable-workflows-and-strong-guarantees</link>
            <guid isPermaLink="false">https://stack.convex.dev/durable-workflows-and-strong-guarantees</guid>
            <pubDate>Tue, 08 Apr 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>AI</category>
            <category>Production</category>
        </item>
        <item>
            <title><![CDATA[AI Agents with Built-in Memory ]]></title>
            <link>https://stack.convex.dev/ai-agents</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-agents</guid>
            <pubDate>Tue, 08 Apr 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Patterns</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Crafty Hacks with Convex MCP]]></title>
            <link>https://stack.convex.dev/mcp-ga</link>
            <guid isPermaLink="false">https://stack.convex.dev/mcp-ga</guid>
            <pubDate>Mon, 07 Apr 2025 13:18:00 GMT</pubDate>
            <description><![CDATA[Convex MCP Server is now generally available, enabling AI agents to query your data, run functions, and automate complex tasks. Here are two crafty use cases we've already uncovered...]]></description>
            <content:encoded><![CDATA[Convex MCP Server is now generally available, enabling AI agents to query your data, run functions, and automate complex tasks. Here are two crafty use cases we've already uncovered...]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[The Tech that Convex replaced for ClarityText]]></title>
            <link>https://stack.convex.dev/beyond-sql-how-convex-simplifies-type-safety-sync-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/beyond-sql-how-convex-simplifies-type-safety-sync-with-convex</guid>
            <pubDate>Thu, 03 Apr 2025 19:58:06 GMT</pubDate>
            <description><![CDATA[Convex might look like just a database, but for modern app developers, it's a full backend-as-a-service platform that replaces the complexity of stitching together ORMs, caching, rate limiting, realtime sync, and CI/CD. In this post, a startup founder walks through how they used Convex to build ClarityText—an AI-powered chat knowledge base—and explains why Convex delivers faster MVPs, deeper type safety, and a seamless developer experience without third-party services like Prisma, Redis, or Firebase. Perfect for developers evaluating backend choices in 2024 and beyond.]]></description>
            <content:encoded><![CDATA[Convex might look like just a database, but for modern app developers, it's a full backend-as-a-service platform that replaces the complexity of stitching together ORMs, caching, rate limiting, realtime sync, and CI/CD. In this post, a startup founder walks through how they used Convex to build ClarityText—an AI-powered chat knowledge base—and explains why Convex delivers faster MVPs, deeper type safety, and a seamless developer experience without third-party services like Prisma, Redis, or Firebase. Perfect for developers evaluating backend choices in 2024 and beyond.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Building a Real-World TypeScript App with Convex and Expo]]></title>
            <link>https://stack.convex.dev/building-a-typescript-quiz-app-with-convex-and-expo</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-a-typescript-quiz-app-with-convex-and-expo</guid>
            <pubDate>Sun, 30 Mar 2025 14:44:00 GMT</pubDate>
            <description><![CDATA[Martie is a TypeScript quiz app built with Convex and Expo that helps users build general knowledge through daily trivia questions and review past quizzes, deployed to both app stores in just 1.5 months using Email OTP authentication, multilingual support, and real-time data syncing.]]></description>
            <content:encoded><![CDATA[Martie is a TypeScript quiz app built with Convex and Expo that helps users build general knowledge through daily trivia questions and review past quizzes, deployed to both app stores in just 1.5 months using Email OTP authentication, multilingual support, and real-time data syncing.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Reimplementing Mastra Workflows: Lessons Learned]]></title>
            <link>https://stack.convex.dev/reimplementing-mastra-regrets</link>
            <guid isPermaLink="false">https://stack.convex.dev/reimplementing-mastra-regrets</guid>
            <pubDate>Fri, 28 Mar 2025 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Merging Streams of Convex data]]></title>
            <link>https://stack.convex.dev/merging-streams-of-convex-data</link>
            <guid isPermaLink="false">https://stack.convex.dev/merging-streams-of-convex-data</guid>
            <pubDate>Fri, 21 Mar 2025 23:42:58 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
            <category>Patterns</category>
            <category>Advanced</category>
        </item>
        <item>
            <title><![CDATA[Convex Evals: Behind the scenes of AI coding with Convex]]></title>
            <link>https://stack.convex.dev/convex-evals</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-evals</guid>
            <pubDate>Wed, 19 Mar 2025 20:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Translate SQL into Convex Queries]]></title>
            <link>https://stack.convex.dev/translate-sql-into-convex-queries</link>
            <guid isPermaLink="false">https://stack.convex.dev/translate-sql-into-convex-queries</guid>
            <pubDate>Wed, 19 Mar 2025 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[ How to Use convex-panel to Integrate a Custom Convex Dashboard Into Your Dev Environment]]></title>
            <link>https://stack.convex.dev/convex-panel-bringing-the-convex-dashboard-dev-environment</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-panel-bringing-the-convex-dashboard-dev-environment</guid>
            <pubDate>Tue, 18 Mar 2025 22:00:31 GMT</pubDate>
            <description><![CDATA[Convex Panel simplifies development by integrating Convex’s powerful dashboard directly into the dev environment, eliminating the need to switch between browser tabs. Built as a React component, it provides real-time logs, table editing, and performance insights seamlessly within your workflow. This tool enhances productivity, streamlines debugging, and optimizes backend management for developers using Convex.]]></description>
            <content:encoded><![CDATA[Convex Panel simplifies development by integrating Convex’s powerful dashboard directly into the dev environment, eliminating the need to switch between browser tabs. Built as a React component, it provides real-time logs, table editing, and performance insights seamlessly within your workflow. This tool enhances productivity, streamlines debugging, and optimizes backend management for developers using Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[MongoDB to Convex: A Step-by-Step Data Migration Script]]></title>
            <link>https://stack.convex.dev/mongodb-to-convex-a-step-by-step-data-migration-script</link>
            <guid isPermaLink="false">https://stack.convex.dev/mongodb-to-convex-a-step-by-step-data-migration-script</guid>
            <pubDate>Mon, 10 Mar 2025 22:48:31 GMT</pubDate>
            <description><![CDATA[Moving data between databases is never fun, but I needed to get 2 million MongoDB documents into Convex without losing my mind. This post walks through my migration script, covering everything from connecting databases to handling schema changes, batch processing, and error handling. If you’re thinking about moving from MongoDB to Convex, consider this your survival guide—coffee highly recommended! ]]></description>
            <content:encoded><![CDATA[Moving data between databases is never fun, but I needed to get 2 million MongoDB documents into Convex without losing my mind. This post walks through my migration script, covering everything from connecting databases to handling schema changes, batch processing, and error handling. If you’re thinking about moving from MongoDB to Convex, consider this your survival guide—coffee highly recommended! ]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Authentication Best Practices: Convex, Clerk and Next.js]]></title>
            <link>https://stack.convex.dev/authentication-best-practices-convex-clerk-and-nextjs</link>
            <guid isPermaLink="false">https://stack.convex.dev/authentication-best-practices-convex-clerk-and-nextjs</guid>
            <pubDate>Thu, 06 Mar 2025 18:45:35 GMT</pubDate>
            <description><![CDATA[Authentication issues in real-time applications can cause security risks, especially when client-side queries run before validation. Ensuring authentication at the server (Next.js middleware), client (useConvexAuth()), and database (Convex functions) helps prevent unauthorized access. Using middleware, enforcing authentication in Convex functions, and leveraging custom hooks improves security and performance.]]></description>
            <content:encoded><![CDATA[Authentication issues in real-time applications can cause security risks, especially when client-side queries run before validation. Ensuring authentication at the server (Next.js middleware), client (useConvexAuth()), and database (Convex functions) helps prevent unauthorized access. Using middleware, enforcing authentication in Convex functions, and leveraging custom hooks improves security and performance.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Convex MCP Server]]></title>
            <link>https://stack.convex.dev/convex-mcp-server</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-mcp-server</guid>
            <pubDate>Tue, 04 Mar 2025 13:40:00 GMT</pubDate>
            <description><![CDATA[Convex now supports a powerful MCP server that lets you introspect your deployment's state, run functions, and read and write data.]]></description>
            <content:encoded><![CDATA[Convex now supports a powerful MCP server that lets you introspect your deployment's state, run functions, and read and write data.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Introducing Fullstack-Bench]]></title>
            <link>https://stack.convex.dev/introducing-fullstack-bench</link>
            <guid isPermaLink="false">https://stack.convex.dev/introducing-fullstack-bench</guid>
            <pubDate>Sun, 23 Feb 2025 17:20:00 GMT</pubDate>
            <description><![CDATA[Coding agents can do more autonomously when they write code that has tight, automatic feedback loops; use systems that express everything in standard, procedural code; and have access to strong, foolproof abstractions.]]></description>
            <content:encoded><![CDATA[Coding agents can do more autonomously when they write code that has tight, automatic feedback loops; use systems that express everything in standard, procedural code; and have access to strong, foolproof abstractions.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Matrix: Building a real-time RPG game with Convex ]]></title>
            <link>https://stack.convex.dev/matrix-building-a-real-time-rpg-game-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/matrix-building-a-real-time-rpg-game-with-convex</guid>
            <pubDate>Thu, 20 Feb 2025 00:55:46 GMT</pubDate>
            <description><![CDATA[Matrix is a real-time RPG for language learning, using Convex for live updates and AI for translations. Players chat with nearby users on a shared map, leveraging a simple Convex backend for real-time interactions. ]]></description>
            <content:encoded><![CDATA[Matrix is a real-time RPG for language learning, using Convex for live updates and AI for translations. Players chat with nearby users on a shared map, leveraging a simple Convex backend for real-time interactions. ]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Types and Validators: A Convex Cookbook]]></title>
            <link>https://stack.convex.dev/types-cookbook</link>
            <guid isPermaLink="false">https://stack.convex.dev/types-cookbook</guid>
            <pubDate>Sat, 15 Feb 2025 01:53:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>TypeScript</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Self-Hosting with Convex: Everything You Need to Know]]></title>
            <link>https://stack.convex.dev/self-hosted-develop-and-deploy</link>
            <guid isPermaLink="false">https://stack.convex.dev/self-hosted-develop-and-deploy</guid>
            <pubDate>Thu, 13 Feb 2025 15:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to self-host Convex, the reactive database and backend. This guide covers setup with Docker, Fly.io, and Neon.tech, plus pros and cons of self-hosting vs. cloud hosting.]]></description>
            <content:encoded><![CDATA[Learn how to self-host Convex, the reactive database and backend. This guide covers setup with Docker, Fly.io, and Neon.tech, plus pros and cons of self-hosting vs. cloud hosting.]]></content:encoded>
            <author>Stack</author>
            <category>Advanced</category>
            <category>Open-Source</category>
            <category>Production</category>
        </item>
        <item>
            <title><![CDATA[Setting Up Cloudflare Pages for Convex Preview Deployments: A Step-by-Step Guide]]></title>
            <link>https://stack.convex.dev/setting-up-cloudflare-pages-for-convex-deployments</link>
            <guid isPermaLink="false">https://stack.convex.dev/setting-up-cloudflare-pages-for-convex-deployments</guid>
            <pubDate>Fri, 07 Feb 2025 00:32:28 GMT</pubDate>
            <description><![CDATA[ClarityText uses Cloudflare Pages for Convex deployments on Language Hopper, leveraging preview deployments, Git integration, and Node.js support. In this guide, Atul Raghuvanshi and Convex Champion Matt Luo walk through setup, including team onboarding, build scripts, Git configuration, and troubleshooting.]]></description>
            <content:encoded><![CDATA[ClarityText uses Cloudflare Pages for Convex deployments on Language Hopper, leveraging preview deployments, Git integration, and Node.js support. In this guide, Atul Raghuvanshi and Convex Champion Matt Luo walk through setup, including team onboarding, build scripts, Git configuration, and troubleshooting.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[ Databased: Why Most Content Doesn't Work ft. Web Dev Cody]]></title>
            <link>https://stack.convex.dev/databased-webdevcody</link>
            <guid isPermaLink="false">https://stack.convex.dev/databased-webdevcody</guid>
            <pubDate>Wed, 29 Jan 2025 20:04:00 GMT</pubDate>
            <description><![CDATA[WebDevCody drops into Databased to discuss content creation, AI, and sponsor relationships.]]></description>
            <content:encoded><![CDATA[WebDevCody drops into Databased to discuss content creation, AI, and sponsor relationships.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[From Trivia to TypeScript: QuiP's Domain-Driven Development with Convex]]></title>
            <link>https://stack.convex.dev/building-quip-trivia-game</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-quip-trivia-game</guid>
            <pubDate>Wed, 29 Jan 2025 00:49:16 GMT</pubDate>
            <description><![CDATA[Discover how the creation of QuiP, an online trivia league, led to a deeper understanding of domain-driven development using Convex. This blog explores the importance of building a shared language with your community to design applications, covering everything from backend modeling to crafting user-friendly interfaces.  ]]></description>
            <content:encoded><![CDATA[Discover how the creation of QuiP, an online trivia league, led to a deeper understanding of domain-driven development using Convex. This blog explores the importance of building a shared language with your community to design applications, covering everything from backend modeling to crafting user-friendly interfaces.  ]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Why Convex Queries are the Ultimate Form of Derived State]]></title>
            <link>https://stack.convex.dev/why-convex-queries-are-the-ultimate-form-of-derived-state</link>
            <guid isPermaLink="false">https://stack.convex.dev/why-convex-queries-are-the-ultimate-form-of-derived-state</guid>
            <pubDate>Mon, 27 Jan 2025 22:34:14 GMT</pubDate>
            <description><![CDATA[After years of wrestling with state management, I've found myself excited by how Convex queries have simplified the way I think about derived state. Instead of juggling complex state libraries and websocket implementations, Convex offers a refreshingly straightforward approach: just declare what data you need, and it stays synchronized across all clients automatically. It's made me wonder if we've been overcomplicating things all along.]]></description>
            <content:encoded><![CDATA[After years of wrestling with state management, I've found myself excited by how Convex queries have simplified the way I think about derived state. Instead of juggling complex state libraries and websocket implementations, Convex offers a refreshingly straightforward approach: just declare what data you need, and it stays synchronized across all clients automatically. It's made me wonder if we've been overcomplicating things all along.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Optimize Transaction Throughput: 3 Patterns for Scaling with Convex and ACID Databases]]></title>
            <link>https://stack.convex.dev/high-throughput-mutations-via-precise-queries</link>
            <guid isPermaLink="false">https://stack.convex.dev/high-throughput-mutations-via-precise-queries</guid>
            <pubDate>Thu, 23 Jan 2025 23:35:21 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[What You Missed in 2024 in the World of Databases, with Andy Pavlo]]></title>
            <link>https://stack.convex.dev/databased-12</link>
            <guid isPermaLink="false">https://stack.convex.dev/databased-12</guid>
            <pubDate>Thu, 23 Jan 2025 22:03:00 GMT</pubDate>
            <description><![CDATA[On this episode of Convex's podcast, Databased, James interviews Andy Pavlo to get his thoughts on all of the big Database trends of 2024.]]></description>
            <content:encoded><![CDATA[On this episode of Convex's podcast, Databased, James interviews Andy Pavlo to get his thoughts on all of the big Database trends of 2024.]]></content:encoded>
            <author>Stack</author>
            <category>Podcast</category>
        </item>
        <item>
            <title><![CDATA[Building an Advanced AI Agent with Next.js 15, Convex, and LangChain: A Step-by-Step Guide]]></title>
            <link>https://stack.convex.dev/build-ai-agent-assistant-tools-nextjs15</link>
            <guid isPermaLink="false">https://stack.convex.dev/build-ai-agent-assistant-tools-nextjs15</guid>
            <pubDate>Thu, 23 Jan 2025 00:45:14 GMT</pubDate>
            <description><![CDATA[Sonny Sangha’s YouTube video demonstrates how to build an AI agent using Next.js 15, Convex, LangChain, Clerk, and IBM wxflows. The tutorial covers creating a secure and interactive chat application with real-time updates, Tool integration, and optimized performance using Convex for backend data management. With features like user authentication via Clerk, dynamic data handling through wxflows, and prompt caching with Claude 3.5 Sonnet, the video provides a detailed guide for developers looking to implement cutting-edge AI capabilities in their projects.]]></description>
            <content:encoded><![CDATA[Sonny Sangha’s YouTube video demonstrates how to build an AI agent using Next.js 15, Convex, LangChain, Clerk, and IBM wxflows. The tutorial covers creating a secure and interactive chat application with real-time updates, Tool integration, and optimized performance using Convex for backend data management. With features like user authentication via Clerk, dynamic data handling through wxflows, and prompt caching with Claude 3.5 Sonnet, the video provides a detailed guide for developers looking to implement cutting-edge AI capabilities in their projects.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Shop Talk: Building an AI-Powered Voice-Controlled Shopping Agent with Daily Bots and Convex]]></title>
            <link>https://stack.convex.dev/shop-talk-building-a-voice-controlled-shopping-list-app-with-daily-bots-and-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/shop-talk-building-a-voice-controlled-shopping-list-app-with-daily-bots-and-convex</guid>
            <pubDate>Fri, 10 Jan 2025 00:48:46 GMT</pubDate>
            <description><![CDATA[A step-by-step guild using daily bots open-source real-time voice and video AI cloud technology to build an AI real-time shopping list app—all controlled by voice. ]]></description>
            <content:encoded><![CDATA[A step-by-step guild using daily bots open-source real-time voice and video AI cloud technology to build an AI real-time shopping list app—all controlled by voice. ]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Convex Cookbook: Dynamic Query Builders]]></title>
            <link>https://stack.convex.dev/dynamic-query-builders</link>
            <guid isPermaLink="false">https://stack.convex.dev/dynamic-query-builders</guid>
            <pubDate>Tue, 07 Jan 2025 17:40:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Database</category>
        </item>
        <item>
            <title><![CDATA[6 Tips for improving your Cursor Composer and Convex Workflow]]></title>
            <link>https://stack.convex.dev/6-tips-for-improving-your-cursor-composer-and-convex-workflow</link>
            <guid isPermaLink="false">https://stack.convex.dev/6-tips-for-improving-your-cursor-composer-and-convex-workflow</guid>
            <pubDate>Mon, 06 Jan 2025 22:00:44 GMT</pubDate>
            <description><![CDATA[After much experimentation I have found some good ways to improve the coding experience when using Cursor and Convex. In this article I share 6 tips to improve your workflow.]]></description>
            <content:encoded><![CDATA[After much experimentation I have found some good ways to improve the coding experience when using Cursor and Convex. In this article I share 6 tips to improve your workflow.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[How to Schedule AI Content Creation Using Convex]]></title>
            <link>https://stack.convex.dev/how-to-schedule-ai-content-creation-using-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/how-to-schedule-ai-content-creation-using-convex</guid>
            <pubDate>Sat, 28 Dec 2024 04:27:00 GMT</pubDate>
            <description><![CDATA[Imagine your app generating fresh content every minute—without you lifting a finger. That’s what Convex Cron makes possible. In this guide, you’ll set up a system to automate Q&A generation with ChatGPT.]]></description>
            <content:encoded><![CDATA[Imagine your app generating fresh content every minute—without you lifting a finger. That’s what Convex Cron makes possible. In this guide, you’ll set up a system to automate Q&A generation with ChatGPT.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Tutorial: How I added GitHub and npm stat counters to TanStack.com]]></title>
            <link>https://stack.convex.dev/tanstack-real-time-github-npm-stat-counter</link>
            <guid isPermaLink="false">https://stack.convex.dev/tanstack-real-time-github-npm-stat-counter</guid>
            <pubDate>Mon, 23 Dec 2024 21:20:58 GMT</pubDate>
            <description><![CDATA[The tutorial "How I added GitHub and npm stat counters to TanStack.com" by Convex Champion Shawn Erquhart details how Convex automates the integration of live GitHub and npm statistics on the TanStack.com website. It showcases data fetching, database optimization, and real-time updates through APIs, web scraping, and scheduled jobs.]]></description>
            <content:encoded><![CDATA[The tutorial "How I added GitHub and npm stat counters to TanStack.com" by Convex Champion Shawn Erquhart details how Convex automates the integration of live GitHub and npm statistics on the TanStack.com website. It showcases data fetching, database optimization, and real-time updates through APIs, web scraping, and scheduled jobs.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Building AI Chat with Convex and ChatGPT]]></title>
            <link>https://stack.convex.dev/real-time-ai-chat-with-convex-and-chatgpt</link>
            <guid isPermaLink="false">https://stack.convex.dev/real-time-ai-chat-with-convex-and-chatgpt</guid>
            <pubDate>Sat, 21 Dec 2024 04:12:00 GMT</pubDate>
            <description><![CDATA[Learn how to create real-time conversations between users and ChatGPT using Convex. You’ll design schemas, sync data automatically, and paginate chat history like a pro.]]></description>
            <content:encoded><![CDATA[Learn how to create real-time conversations between users and ChatGPT using Convex. You’ll design schemas, sync data automatically, and paginate chat history like a pro.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Add a collaborative document editor to your app]]></title>
            <link>https://stack.convex.dev/add-a-collaborative-document-editor-to-your-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/add-a-collaborative-document-editor-to-your-app</guid>
            <pubDate>Thu, 19 Dec 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Or how I learned to love BlockNote, Tiptap and ProseMirror OT sync.]]></description>
            <content:encoded><![CDATA[Or how I learned to love BlockNote, Tiptap and ProseMirror OT sync.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[Keeping Users in Sync: Building Real-time Collaboration with Convex]]></title>
            <link>https://stack.convex.dev/keeping-real-time-users-in-sync-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/keeping-real-time-users-in-sync-convex</guid>
            <pubDate>Tue, 17 Dec 2024 23:30:54 GMT</pubDate>
            <description><![CDATA[Hamza Saleem shares how Convex simplifies building real-time data sync apps like Sticky by using the useQuery hook, where you can easily fetch and sync data, like sticky notes, with minimal setup. He explains how Convex handles challenges like syncing data, live updates, and user tracking.

]]></description>
            <content:encoded><![CDATA[Hamza Saleem shares how Convex simplifies building real-time data sync apps like Sticky by using the useQuery hook, where you can easily fetch and sync data, like sticky notes, with minimal setup. He explains how Convex handles challenges like syncing data, live updates, and user tracking.

]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[How to Create Real-Time User Profiles with Convex and Clerk]]></title>
            <link>https://stack.convex.dev/build-real-time-user-profiles-with-convex-and-clerk</link>
            <guid isPermaLink="false">https://stack.convex.dev/build-real-time-user-profiles-with-convex-and-clerk</guid>
            <pubDate>Sat, 14 Dec 2024 03:40:00 GMT</pubDate>
            <description><![CDATA[Learn how to build real-time profiles using Convex and Clerk. From storing user data to uploading profile pictures, we’ll show you how to make changes reflect instantly in your app.]]></description>
            <content:encoded><![CDATA[Learn how to build real-time profiles using Convex and Clerk. From storing user data to uploading profile pictures, we’ll show you how to make changes reflect instantly in your app.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Can your database do this? Ep 3: Zero-downtime, type-safe migrations]]></title>
            <link>https://stack.convex.dev/zero-downtime-migrations</link>
            <guid isPermaLink="false">https://stack.convex.dev/zero-downtime-migrations</guid>
            <pubDate>Wed, 11 Dec 2024 16:03:56 GMT</pubDate>
            <description><![CDATA[Convex's migrations component makes it easy and safe to run complex database migrations without causing any interruption to live traffic.]]></description>
            <content:encoded><![CDATA[Convex's migrations component makes it easy and safe to run complex database migrations without causing any interruption to live traffic.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[User Authentication with Clerk and Convex]]></title>
            <link>https://stack.convex.dev/user-authentication-with-clerk-and-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/user-authentication-with-clerk-and-convex</guid>
            <pubDate>Sat, 07 Dec 2024 03:33:00 GMT</pubDate>
            <description><![CDATA[Want to build secure user logins without the headache? This guide shows you how to connect Clerk with Convex for smooth authentication in your app.]]></description>
            <content:encoded><![CDATA[Want to build secure user logins without the headache? This guide shows you how to connect Clerk with Convex for smooth authentication in your app.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Code Spelunking: Uncovering Convex's API Generation Secrets]]></title>
            <link>https://stack.convex.dev/code-spelunking-uncovering-convex-s-api-generation-secrets</link>
            <guid isPermaLink="false">https://stack.convex.dev/code-spelunking-uncovering-convex-s-api-generation-secrets</guid>
            <pubDate>Fri, 06 Dec 2024 18:57:40 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Company Values that Matter]]></title>
            <link>https://stack.convex.dev/company-values</link>
            <guid isPermaLink="false">https://stack.convex.dev/company-values</guid>
            <pubDate>Wed, 04 Dec 2024 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Convex: The Database that Made Me Switch Careers]]></title>
            <link>https://stack.convex.dev/convex-the-database-that-made-me-switch-careers</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-the-database-that-made-me-switch-careers</guid>
            <pubDate>Mon, 02 Dec 2024 01:41:12 GMT</pubDate>
            <description><![CDATA[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. ]]></description>
            <content:encoded><![CDATA[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. ]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Building Type-Safe Rust Applications with Convex: Introducing convex-typegen]]></title>
            <link>https://stack.convex.dev/building-type-safe-rust-applications-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-type-safe-rust-applications-with-convex</guid>
            <pubDate>Fri, 22 Nov 2024 18:42:10 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Going local-first with Automerge and Convex]]></title>
            <link>https://stack.convex.dev/automerge-and-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/automerge-and-convex</guid>
            <pubDate>Tue, 19 Nov 2024 20:00:33 GMT</pubDate>
            <description><![CDATA[Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.]]></description>
            <content:encoded><![CDATA[Learn about Automerge CRDTs for collaborative editing, syncing changes using Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Advanced</category>
            <category>Patterns</category>
            <category>Integration</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[Midpoints: A Word Game Powered by AI Embeddings and Convex Components]]></title>
            <link>https://stack.convex.dev/midpoints-a-word-game-powered-by-ai-embeddings-and-convex-components</link>
            <guid isPermaLink="false">https://stack.convex.dev/midpoints-a-word-game-powered-by-ai-embeddings-and-convex-components</guid>
            <pubDate>Tue, 19 Nov 2024 16:11:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
            <content:encoded><![CDATA[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!]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>AI</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[An Object Sync Engine for Local-first Apps]]></title>
            <link>https://stack.convex.dev/object-sync-engine</link>
            <guid isPermaLink="false">https://stack.convex.dev/object-sync-engine</guid>
            <pubDate>Wed, 13 Nov 2024 11:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[Building A Second Brain: How I Created Mike AI Chat Bot with Convex]]></title>
            <link>https://stack.convex.dev/building-a-second-brain-how-i-created-mike-ai-chat-bot-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-a-second-brain-how-i-created-mike-ai-chat-bot-with-convex</guid>
            <pubDate>Tue, 12 Nov 2024 00:00:19 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Mobile-first: Building Google Photos]]></title>
            <link>https://stack.convex.dev/mobile-first</link>
            <guid isPermaLink="false">https://stack.convex.dev/mobile-first</guid>
            <pubDate>Thu, 07 Nov 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Indy, our Head of Product, led building Google Photos for Android. This is his story.]]></description>
            <content:encoded><![CDATA[Indy, our Head of Product, led building Google Photos for Android. This is his story.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[New Open-source Starter Kit: Convex v1 based on Midday.]]></title>
            <link>https://stack.convex.dev/open-source-starter-kit-convex-v1-based-on-midday</link>
            <guid isPermaLink="false">https://stack.convex.dev/open-source-starter-kit-convex-v1-based-on-midday</guid>
            <pubDate>Wed, 06 Nov 2024 21:27:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[A Map of Sync]]></title>
            <link>https://stack.convex.dev/a-map-of-sync</link>
            <guid isPermaLink="false">https://stack.convex.dev/a-map-of-sync</guid>
            <pubDate>Thu, 31 Oct 2024 13:55:00 GMT</pubDate>
            <description><![CDATA[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.
]]></description>
            <content:encoded><![CDATA[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.
]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[Components for your Backend]]></title>
            <link>https://stack.convex.dev/backend-components</link>
            <guid isPermaLink="false">https://stack.convex.dev/backend-components</guid>
            <pubDate>Tue, 22 Oct 2024 14:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[What is Sync?]]></title>
            <link>https://stack.convex.dev/sync</link>
            <guid isPermaLink="false">https://stack.convex.dev/sync</guid>
            <pubDate>Fri, 11 Oct 2024 14:04:24 GMT</pubDate>
            <description><![CDATA[Sync platforms like Convex simplify distributed state management, ensuring that developers can focus on building their applications rather than managing backend complexities.]]></description>
            <content:encoded><![CDATA[Sync platforms like Convex simplify distributed state management, ensuring that developers can focus on building their applications rather than managing backend complexities.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Local-First</category>
        </item>
        <item>
            <title><![CDATA[Introducing Convex for Swift]]></title>
            <link>https://stack.convex.dev/introducing-convex-for-swift</link>
            <guid isPermaLink="false">https://stack.convex.dev/introducing-convex-for-swift</guid>
            <pubDate>Thu, 10 Oct 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[I’m excited to announce Convex Swift, which unlocks the ability to build iOS and MacOS clients for your Convex app.]]></description>
            <content:encoded><![CDATA[I’m excited to announce Convex Swift, which unlocks the ability to build iOS and MacOS clients for your Convex app.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Database Triggers]]></title>
            <link>https://stack.convex.dev/triggers</link>
            <guid isPermaLink="false">https://stack.convex.dev/triggers</guid>
            <pubDate>Thu, 10 Oct 2024 19:00:22 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Advanced</category>
            <category>Database</category>
        </item>
        <item>
            <title><![CDATA[Use real persistence, not useState ]]></title>
            <link>https://stack.convex.dev/usestate-less</link>
            <guid isPermaLink="false">https://stack.convex.dev/usestate-less</guid>
            <pubDate>Tue, 01 Oct 2024 22:46:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Using Cursor, Claude and Convex to Build a Social Media Scheduling App]]></title>
            <link>https://stack.convex.dev/using-cursor-claude-and-convex-to-build-a-social-media-scheduling-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/using-cursor-claude-and-convex-to-build-a-social-media-scheduling-app</guid>
            <pubDate>Mon, 30 Sep 2024 17:06:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
            <category>AI</category>
            <category>TypeScript</category>
        </item>
        <item>
            <title><![CDATA[Zero to One Hackathon V2 Winners]]></title>
            <link>https://stack.convex.dev/hackathon-winners-fall-2024</link>
            <guid isPermaLink="false">https://stack.convex.dev/hackathon-winners-fall-2024</guid>
            <pubDate>Wed, 25 Sep 2024 18:03:33 GMT</pubDate>
            <description><![CDATA[We're excited to announce the winners of the Zero to One Hackathon V2! Thousands of developers and startup founders brought their A-game, building some impressive fullstack apps on Convex.]]></description>
            <content:encoded><![CDATA[We're excited to announce the winners of the Zero to One Hackathon V2! Thousands of developers and startup founders brought their A-game, building some impressive fullstack apps on Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Hackathon</category>
        </item>
        <item>
            <title><![CDATA[Convex in Multiple Repositories]]></title>
            <link>https://stack.convex.dev/multiple-repos</link>
            <guid isPermaLink="false">https://stack.convex.dev/multiple-repos</guid>
            <pubDate>Wed, 18 Sep 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[Turns out, you can organize your Convex project across multiple repositories! Check out this guide on how to implement this in your project.]]></description>
            <content:encoded><![CDATA[Turns out, you can organize your Convex project across multiple repositories! Check out this guide on how to implement this in your project.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[CRUD APIs: Functional, but Inefficient]]></title>
            <link>https://stack.convex.dev/crud-and-rest</link>
            <guid isPermaLink="false">https://stack.convex.dev/crud-and-rest</guid>
            <pubDate>Fri, 13 Sep 2024 01:53:13 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Introducing Convex for Android]]></title>
            <link>https://stack.convex.dev/introducing-convex-for-android</link>
            <guid isPermaLink="false">https://stack.convex.dev/introducing-convex-for-android</guid>
            <pubDate>Wed, 11 Sep 2024 19:02:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Understanding CORS: A Developer's Guide]]></title>
            <link>https://stack.convex.dev/a-developers-guide-to-cors</link>
            <guid isPermaLink="false">https://stack.convex.dev/a-developers-guide-to-cors</guid>
            <pubDate>Tue, 27 Aug 2024 15:07:00 GMT</pubDate>
            <description><![CDATA[Cross-Origin Resource Sharing (CORS) is a crucial concept in modern web development, yet it's often misunderstood and can be a source of frustration for many developers. This article aims to demystify CORS, explain its importance, and provide practical guidance on its implementation. Whether you're a seasoned developer or just starting out, this guide will help you navigate the intricacies of CORS and use it effectively in your projects.]]></description>
            <content:encoded><![CDATA[Cross-Origin Resource Sharing (CORS) is a crucial concept in modern web development, yet it's often misunderstood and can be a source of frustration for many developers. This article aims to demystify CORS, explain its importance, and provide practical guidance on its implementation. Whether you're a seasoned developer or just starting out, this guide will help you navigate the intricacies of CORS and use it effectively in your projects.]]></content:encoded>
            <author>Stack</author>
            <category>Web</category>
            <category>Fundamentals</category>
            <category>Advanced</category>
        </item>
        <item>
            <title><![CDATA[Testing authenticated functions from the dashboard]]></title>
            <link>https://stack.convex.dev/testing-authenticated-functions-from-the-dashboard</link>
            <guid isPermaLink="false">https://stack.convex.dev/testing-authenticated-functions-from-the-dashboard</guid>
            <pubDate>Fri, 09 Aug 2024 16:00:00 GMT</pubDate>
            <description><![CDATA[You can test functions that rely on a sign-in by decoding your JWT and using the fields with "Act as a user" on the dashboard.]]></description>
            <content:encoded><![CDATA[You can test functions that rely on a sign-in by decoding your JWT and using the fields with "Act as a user" on the dashboard.]]></content:encoded>
            <author>Stack</author>
            <category>Authentication</category>
            <category>Fundamentals</category>
            <category>Testing</category>
        </item>
        <item>
            <title><![CDATA[Configure Cron Jobs at Runtime]]></title>
            <link>https://stack.convex.dev/cron-jobs</link>
            <guid isPermaLink="false">https://stack.convex.dev/cron-jobs</guid>
            <pubDate>Wed, 17 Jul 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[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. ]]></description>
            <content:encoded><![CDATA[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. ]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Take Control of Pagination]]></title>
            <link>https://stack.convex.dev/pagination</link>
            <guid isPermaLink="false">https://stack.convex.dev/pagination</guid>
            <pubDate>Thu, 11 Jul 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Introducing Convex Auth]]></title>
            <link>https://stack.convex.dev/convex-auth</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-auth</guid>
            <pubDate>Wed, 10 Jul 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[Convex Auth is a library for implementing authentication natively in your Convex backend.]]></description>
            <content:encoded><![CDATA[Convex Auth is a library for implementing authentication natively in your Convex backend.]]></content:encoded>
            <author>Stack</author>
            <category>Authentication</category>
        </item>
        <item>
            <title><![CDATA[Build and Deploy a Full Stack AI Todoist Clone: Next.js, Convex & TypeScript]]></title>
            <link>https://stack.convex.dev/todoist-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/todoist-clone</guid>
            <pubDate>Thu, 20 Jun 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Can your database do this? Ep. 1: Magic caching]]></title>
            <link>https://stack.convex.dev/magic-caching</link>
            <guid isPermaLink="false">https://stack.convex.dev/magic-caching</guid>
            <pubDate>Tue, 18 Jun 2024 17:19:49 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Reactivity</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Log Streams: Common uses]]></title>
            <link>https://stack.convex.dev/log-streams-common-uses</link>
            <guid isPermaLink="false">https://stack.convex.dev/log-streams-common-uses</guid>
            <pubDate>Mon, 17 Jun 2024 15:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Advanced</category>
            <category>Production</category>
        </item>
        <item>
            <title><![CDATA[Streaming HTTP Responses using fetch]]></title>
            <link>https://stack.convex.dev/streaming-http-using-fetch</link>
            <guid isPermaLink="false">https://stack.convex.dev/streaming-http-using-fetch</guid>
            <pubDate>Tue, 11 Jun 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[The “full-stack framework” fallacy]]></title>
            <link>https://stack.convex.dev/full-stack-framework-fallacy</link>
            <guid isPermaLink="false">https://stack.convex.dev/full-stack-framework-fallacy</guid>
            <pubDate>Thu, 06 Jun 2024 16:00:00 GMT</pubDate>
            <description><![CDATA[When people want a full-stack framework, what they really want is an opinionated backend that interoperates seamlessly with their frontends in a way that empowers full-stack developers to easily build apps that can scale.]]></description>
            <content:encoded><![CDATA[When people want a full-stack framework, what they really want is an opinionated backend that interoperates seamlessly with their frontends in a way that empowers full-stack developers to easily build apps that can scale.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[AI Chat with HTTP Streaming]]></title>
            <link>https://stack.convex.dev/ai-chat-with-http-streaming</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-chat-with-http-streaming</guid>
            <pubDate>Thu, 06 Jun 2024 15:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Advanced</category>
            <category>AI</category>
            <category>Patterns</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[SELECT DISTINCT without SQL]]></title>
            <link>https://stack.convex.dev/select-distinct</link>
            <guid isPermaLink="false">https://stack.convex.dev/select-distinct</guid>
            <pubDate>Tue, 04 Jun 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[You'll often want to retrieve unique records from your database. While SELECT DISTINCT is the traditional way to do this in SQL databases, we've improved on this pattern in Convex by making it more consistent.]]></description>
            <content:encoded><![CDATA[You'll often want to retrieve unique records from your database. While SELECT DISTINCT is the traditional way to do this in SQL databases, we've improved on this pattern in Convex by making it more consistent.]]></content:encoded>
            <author>Stack</author>
            <category>Database</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Rate Limiting at the Application Layer]]></title>
            <link>https://stack.convex.dev/rate-limiting</link>
            <guid isPermaLink="false">https://stack.convex.dev/rate-limiting</guid>
            <pubDate>Tue, 21 May 2024 19:00:26 GMT</pubDate>
            <description><![CDATA[Implementing application rate limiting when you have fast access to a database with strong ACID guarantees. Token bucket and fixed window, with fairness, burst accommodation and fire-and-forget support.]]></description>
            <content:encoded><![CDATA[Implementing application rate limiting when you have fast access to a database with strong ACID guarantees. Token bucket and fixed window, with fairness, burst accommodation and fire-and-forget support.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[The Ultimate Caching Definition: Invalidation, Optimization, and Layers]]></title>
            <link>https://stack.convex.dev/caching-in</link>
            <guid isPermaLink="false">https://stack.convex.dev/caching-in</guid>
            <pubDate>Tue, 14 May 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[A cache is a non-authoritative representation of data maintained for performance reasons. Find out what these words mean and when you should care about them here.]]></description>
            <content:encoded><![CDATA[A cache is a non-authoritative representation of data maintained for performance reasons. Find out what these words mean and when you should care about them here.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Work Stealing: Load-balancing for compute-heavy tasks]]></title>
            <link>https://stack.convex.dev/work-stealing</link>
            <guid isPermaLink="false">https://stack.convex.dev/work-stealing</guid>
            <pubDate>Tue, 14 May 2024 18:30:00 GMT</pubDate>
            <description><![CDATA[Compare push-based load balancing with pull-based work stealing as scalable strategies for distributing resource-intensive workloads, such as running LLM models for AI apps.]]></description>
            <content:encoded><![CDATA[Compare push-based load balancing with pull-based work stealing as scalable strategies for distributing resource-intensive workloads, such as running LLM models for AI apps.]]></content:encoded>
            <author>Stack</author>
            <category>Advanced</category>
            <category>Patterns</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Implementing work stealing with a reactive database]]></title>
            <link>https://stack.convex.dev/implementing-work-stealing</link>
            <guid isPermaLink="false">https://stack.convex.dev/implementing-work-stealing</guid>
            <pubDate>Tue, 14 May 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Implementing "work stealing" - a workload distribution strategy - using Convex's reactive database.]]></description>
            <content:encoded><![CDATA[Implementing "work stealing" - a workload distribution strategy - using Convex's reactive database.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Advanced</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Convex with Auth.js (NextAuth)]]></title>
            <link>https://stack.convex.dev/nextauth</link>
            <guid isPermaLink="false">https://stack.convex.dev/nextauth</guid>
            <pubDate>Tue, 07 May 2024 14:03:00 GMT</pubDate>
            <description><![CDATA[Learn how to use Auth.js with your Next.js server and Convex backend to build a full-featured authentication system.]]></description>
            <content:encoded><![CDATA[Learn how to use Auth.js with your Next.js server and Convex backend to build a full-featured authentication system.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
            <category>Sessions</category>
            <category>Authentication</category>
        </item>
        <item>
            <title><![CDATA[Convex Adapter for Auth.js (NextAuth) Setup Guide]]></title>
            <link>https://stack.convex.dev/nextauth-adapter</link>
            <guid isPermaLink="false">https://stack.convex.dev/nextauth-adapter</guid>
            <pubDate>Tue, 07 May 2024 11:47:00 GMT</pubDate>
            <description><![CDATA[Learn how to install and configure the Convex adapter for Auth.js as part of getting set up with Convex and Next.js.]]></description>
            <content:encoded><![CDATA[Learn how to install and configure the Convex adapter for Auth.js as part of getting set up with Convex and Next.js.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Sessions</category>
            <category>Authentication</category>
        </item>
        <item>
            <title><![CDATA[Full Stack Tutorial – Fiverr Clone with NextJS, React, Convex, Typescript, Tailwind CSS, ShadCN]]></title>
            <link>https://stack.convex.dev/fiverr-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/fiverr-clone</guid>
            <pubDate>Wed, 01 May 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[Check this video out for an in-depth 6 hour tutorial on building your own version of Fiverr using Convex.]]></description>
            <content:encoded><![CDATA[Check this video out for an in-depth 6 hour tutorial on building your own version of Fiverr using Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[LaunchPie’s Experience Winning the Zero-to-One Hackathon]]></title>
            <link>https://stack.convex.dev/launchpie-hackathon-winner</link>
            <guid isPermaLink="false">https://stack.convex.dev/launchpie-hackathon-winner</guid>
            <pubDate>Fri, 26 Apr 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Earlier this year we ran a hackathon to find who could use Convex's features the best to build an application from scratch. From 2400 participants, Konrad Hylton pulled it off with Launchpie.]]></description>
            <content:encoded><![CDATA[Earlier this year we ran a hackathon to find who could use Convex's features the best to build an application from scratch. From 2400 participants, Konrad Hylton pulled it off with Launchpie.]]></content:encoded>
            <author>Stack</author>
            <category>Hackathon</category>
        </item>
        <item>
            <title><![CDATA[Stateful Online Migrations using Mutations]]></title>
            <link>https://stack.convex.dev/migrating-data-with-mutations</link>
            <guid isPermaLink="false">https://stack.convex.dev/migrating-data-with-mutations</guid>
            <pubDate>Tue, 16 Apr 2024 19:00:54 GMT</pubDate>
            <description><![CDATA[Online migrations in Convex using mutations, including a Convex Component to manage them.]]></description>
            <content:encoded><![CDATA[Online migrations in Convex using mutations, including a Convex Component to manage them.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Database</category>
        </item>
        <item>
            <title><![CDATA[Databases are Spreadsheets]]></title>
            <link>https://stack.convex.dev/databases-are-spreadsheets</link>
            <guid isPermaLink="false">https://stack.convex.dev/databases-are-spreadsheets</guid>
            <pubDate>Tue, 16 Apr 2024 16:00:00 GMT</pubDate>
            <description><![CDATA[I want to share my mental model of databases:

- Databases are just big spreadsheets
- An index is just a view of the spreadsheet sorted by one or more columns
- Binary search over a sorted list is faster than a linear scan (for large lists)]]></description>
            <content:encoded><![CDATA[I want to share my mental model of databases:

- Databases are just big spreadsheets
- An index is just a view of the spreadsheet sorted by one or more columns
- Binary search over a sorted list is faster than a linear scan (for large lists)]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Operational maturity for production]]></title>
            <link>https://stack.convex.dev/operational-maturity-for-production</link>
            <guid isPermaLink="false">https://stack.convex.dev/operational-maturity-for-production</guid>
            <pubDate>Wed, 10 Apr 2024 21:00:04 GMT</pubDate>
            <description><![CDATA[This post will cover various aspects of operational maturity, and steps to take as your app grows up.]]></description>
            <content:encoded><![CDATA[This post will cover various aspects of operational maturity, and steps to take as your app grows up.]]></content:encoded>
            <author>Stack</author>
            <category>Deploy</category>
            <category>Production</category>
            <category>Fullstack</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Testing patterns for peace of mind]]></title>
            <link>https://stack.convex.dev/testing-patterns</link>
            <guid isPermaLink="false">https://stack.convex.dev/testing-patterns</guid>
            <pubDate>Wed, 10 Apr 2024 16:39:00 GMT</pubDate>
            <description><![CDATA[Learn about best practices for testing your full-stack apps - running on Convex or elsewhere!]]></description>
            <content:encoded><![CDATA[Learn about best practices for testing your full-stack apps - running on Convex or elsewhere!]]></content:encoded>
            <author>Stack</author>
            <category>Deploy</category>
            <category>Production</category>
            <category>Testing</category>
            <category>Fullstack</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Build and Deploy a Full Stack WhatsApp Clone with AI | Video Calls, Screen Sharing | React.js, TypeScript]]></title>
            <link>https://stack.convex.dev/as-a-programmer-ai-whats-app-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/as-a-programmer-ai-whats-app-clone</guid>
            <pubDate>Sun, 07 Apr 2024 02:35:00 GMT</pubDate>
            <description><![CDATA[A  tutorial on how to create a clone of WhatsApp with OpenAI built with React.js, TypeScript, TailwindCSS Convex, Clerk and ZegoCloud.]]></description>
            <content:encoded><![CDATA[A  tutorial on how to create a clone of WhatsApp with OpenAI built with React.js, TypeScript, TailwindCSS Convex, Clerk and ZegoCloud.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[How We Horizontally Scaled Function Execution]]></title>
            <link>https://stack.convex.dev/horizontally-scaling-functions</link>
            <guid isPermaLink="false">https://stack.convex.dev/horizontally-scaling-functions</guid>
            <pubDate>Fri, 05 Apr 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[We shipped a behind-the-scenes update that lets customers run 10x concurrent functions than they used to. Emma, who helped ship the update, provides the context, architecture, and impact. ]]></description>
            <content:encoded><![CDATA[We shipped a behind-the-scenes update that lets customers run 10x concurrent functions than they used to. Emma, who helped ship the update, provides the context, architecture, and impact. ]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[How Convex Works]]></title>
            <link>https://stack.convex.dev/how-convex-works</link>
            <guid isPermaLink="false">https://stack.convex.dev/how-convex-works</guid>
            <pubDate>Tue, 02 Apr 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[A deep dive on how Convex's reactive database works internally.]]></description>
            <content:encoded><![CDATA[A deep dive on how Convex's reactive database works internally.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Compiling the Convex Open-Source Backend]]></title>
            <link>https://stack.convex.dev/building-the-oss-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-the-oss-backend</guid>
            <pubDate>Mon, 01 Apr 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Read this article to learn how you can build our open-source backend from source.]]></description>
            <content:encoded><![CDATA[Read this article to learn how you can build our open-source backend from source.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Developing with the Open-Source backend]]></title>
            <link>https://stack.convex.dev/developing-with-the-oss-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/developing-with-the-oss-backend</guid>
            <pubDate>Fri, 29 Mar 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[Read this article to learn how you can develop against our open-source backend using our packaged binaries.]]></description>
            <content:encoded><![CDATA[Read this article to learn how you can develop against our open-source backend using our packaged binaries.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Zero to One Hackathon Winners]]></title>
            <link>https://stack.convex.dev/hacakthon-winners-winter-2024</link>
            <guid isPermaLink="false">https://stack.convex.dev/hacakthon-winners-winter-2024</guid>
            <pubDate>Wed, 27 Mar 2024 21:00:00 GMT</pubDate>
            <description><![CDATA[Contestants have been hard at work with our Winter Hackathon that we ran with Devpost. In this post, we announce the winners and their prizes!]]></description>
            <content:encoded><![CDATA[Contestants have been hard at work with our Winter Hackathon that we ran with Devpost. In this post, we announce the winners and their prizes!]]></content:encoded>
            <author>Stack</author>
            <category>Hackathon</category>
        </item>
        <item>
            <title><![CDATA[Observing your app in production]]></title>
            <link>https://stack.convex.dev/observability-in-production</link>
            <guid isPermaLink="false">https://stack.convex.dev/observability-in-production</guid>
            <pubDate>Thu, 21 Mar 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[By setting up dedicated tools, you can get actionable data to help understanding errors, performance, user behavior and allow you respond quickly when things change.]]></description>
            <content:encoded><![CDATA[By setting up dedicated tools, you can get actionable data to help understanding errors, performance, user behavior and allow you respond quickly when things change.]]></content:encoded>
            <author>Stack</author>
            <category>Deploy</category>
            <category>Production</category>
            <category>Patterns</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[YOLO: Get to an MVP fast]]></title>
            <link>https://stack.convex.dev/yolo-fast-mvp</link>
            <guid isPermaLink="false">https://stack.convex.dev/yolo-fast-mvp</guid>
            <pubDate>Wed, 20 Mar 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[Before you burden yourself with “best practices” for large-scale companies, focus on what will reduce your feedback cycles and help you ship early and often. Think about your use case, not your toolbox.]]></description>
            <content:encoded><![CDATA[Before you burden yourself with “best practices” for large-scale companies, focus on what will reduce your feedback cycles and help you ship early and often. Think about your use case, not your toolbox.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Using TypeScript to Write Complex Query Filters]]></title>
            <link>https://stack.convex.dev/complex-filters-in-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/complex-filters-in-convex</guid>
            <pubDate>Wed, 13 Mar 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[There’s a new Convex helper to perform generic TypeScript filters, with the same performance as built-in Convex filters, and unlimited potential.]]></description>
            <content:encoded><![CDATA[There’s a new Convex helper to perform generic TypeScript filters, with the same performance as built-in Convex filters, and unlimited potential.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Running tests using a local open-source backend]]></title>
            <link>https://stack.convex.dev/testing-with-local-oss-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/testing-with-local-oss-backend</guid>
            <pubDate>Tue, 12 Mar 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Convex recently released an open source version of the backend. We can use this to unit test Convex functions by running them with a local backend. These tests will work by running a backend locally, pushing your code, and using the `ConvexClient` to execute queries and mutations from your favorite testing framework and asserting on the results.]]></description>
            <content:encoded><![CDATA[Convex recently released an open source version of the backend. We can use this to unit test Convex functions by running them with a local backend. These tests will work by running a backend locally, pushing your code, and using the `ConvexClient` to execute queries and mutations from your favorite testing framework and asserting on the results.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Testing</category>
        </item>
        <item>
            <title><![CDATA[Lightweight Migrations]]></title>
            <link>https://stack.convex.dev/lightweight-zero-downtime-migrations</link>
            <guid isPermaLink="false">https://stack.convex.dev/lightweight-zero-downtime-migrations</guid>
            <pubDate>Fri, 08 Mar 2024 20:00:47 GMT</pubDate>
            <description><![CDATA[Patch all of your data in your database table with the bulk edit feature on the Convex dashboard, without writing migration code.]]></description>
            <content:encoded><![CDATA[Patch all of your data in your database table with the bulk edit feature on the Convex dashboard, without writing migration code.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Backends Should be Designed for Product Developers]]></title>
            <link>https://stack.convex.dev/backend-designed-for-product-develoeprs</link>
            <guid isPermaLink="false">https://stack.convex.dev/backend-designed-for-product-develoeprs</guid>
            <pubDate>Wed, 06 Mar 2024 01:54:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Build a File Storage App with Role Based Authorization (Next.js, Shadcn, Typescript)]]></title>
            <link>https://stack.convex.dev/build-a-file-storage-app-role-based-authorization</link>
            <guid isPermaLink="false">https://stack.convex.dev/build-a-file-storage-app-role-based-authorization</guid>
            <pubDate>Mon, 04 Mar 2024 17:22:00 GMT</pubDate>
            <description><![CDATA[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. ]]></description>
            <content:encoded><![CDATA[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. ]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>TypeScript</category>
        </item>
        <item>
            <title><![CDATA[Set up ESLint for best practices]]></title>
            <link>https://stack.convex.dev/eslint-setup</link>
            <guid isPermaLink="false">https://stack.convex.dev/eslint-setup</guid>
            <pubDate>Fri, 01 Mar 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[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 ]]></description>
            <content:encoded><![CDATA[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 ]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Uploading files from React Native or Expo]]></title>
            <link>https://stack.convex.dev/uploading-files-from-react-native-or-expo</link>
            <guid isPermaLink="false">https://stack.convex.dev/uploading-files-from-react-native-or-expo</guid>
            <pubDate>Tue, 27 Feb 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Step by step guide to take a file URI provided by Expo media APIs and upload it to Convex in React Native.]]></description>
            <content:encoded><![CDATA[Step by step guide to take a file URI provided by Expo media APIs and upload it to Convex in React Native.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Build and Deploy Eraser.io App Clone: Full Stack React App - Next.js, Typescript, Tailwind Css]]></title>
            <link>https://stack.convex.dev/tubeGuruji-eraser-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/tubeGuruji-eraser-clone</guid>
            <pubDate>Mon, 26 Feb 2024 23:30:09 GMT</pubDate>
            <description><![CDATA[A  tutorial on how to create a fully functional clone of Eraser.io with Convex using Next.js, React, TypeScript, and Tailwind CSS. ]]></description>
            <content:encoded><![CDATA[A  tutorial on how to create a fully functional clone of Eraser.io with Convex using Next.js, React, TypeScript, and Tailwind CSS. ]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Convex: The Software-Defined Database]]></title>
            <link>https://stack.convex.dev/the-software-defined-database</link>
            <guid isPermaLink="false">https://stack.convex.dev/the-software-defined-database</guid>
            <pubDate>Wed, 21 Feb 2024 21:43:02 GMT</pubDate>
            <description><![CDATA[Which to choose, the expressive power of code, or the robustness of built-in database features? With Convex, you can have both. By eliminating the boundary between the application and the database, Convex provides a uniform and powerful way to model your entire backend data flow and security using plain ol' code.]]></description>
            <content:encoded><![CDATA[Which to choose, the expressive power of code, or the robustness of built-in database features? With Convex, you can have both. By eliminating the boundary between the application and the database, Convex provides a uniform and powerful way to model your entire backend data flow and security using plain ol' code.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[How I built NotesGPT – a full-stack AI voice note taking app]]></title>
            <link>https://stack.convex.dev/full-stack-ai-voice-note-taking-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/full-stack-ai-voice-note-taking-app</guid>
            <pubDate>Wed, 21 Feb 2024 02:00:00 GMT</pubDate>
            <description><![CDATA[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.

]]></description>
            <content:encoded><![CDATA[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.

]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>AI</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Why I use Convex over Supabase as my BaaS]]></title>
            <link>https://stack.convex.dev/cody-convex-vs-supabase</link>
            <guid isPermaLink="false">https://stack.convex.dev/cody-convex-vs-supabase</guid>
            <pubDate>Fri, 16 Feb 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[An overview of Convex and Supabase, comparing the DX and capabilities of both products when building out the same application.]]></description>
            <content:encoded><![CDATA[An overview of Convex and Supabase, comparing the DX and capabilities of both products when building out the same application.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Queries that scale]]></title>
            <link>https://stack.convex.dev/queries-that-scale</link>
            <guid isPermaLink="false">https://stack.convex.dev/queries-that-scale</guid>
            <pubDate>Tue, 13 Feb 2024 20:00:52 GMT</pubDate>
            <description><![CDATA[As your app grows from tens to hundreds to thousands of users, there are some techniques that will keep your database queries snappy and efficient. I’ve put together a short list of the most common techniques used by teams scaling on Convex.]]></description>
            <content:encoded><![CDATA[As your app grows from tens to hundreds to thousands of users, there are some techniques that will keep your database queries snappy and efficient. I’ve put together a short list of the most common techniques used by teams scaling on Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Automatically Retry Actions]]></title>
            <link>https://stack.convex.dev/retry-actions</link>
            <guid isPermaLink="false">https://stack.convex.dev/retry-actions</guid>
            <pubDate>Tue, 13 Feb 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to automatically retry actions in Convex while also learning a little about scheduling, system tables, and function references.]]></description>
            <content:encoded><![CDATA[Learn how to automatically retry actions in Convex while also learning a little about scheduling, system tables, and function references.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Fundamentals</category>
            <category>Scheduler</category>
        </item>
        <item>
            <title><![CDATA[Dev Diary: Log Streaming ft. Axiom]]></title>
            <link>https://stack.convex.dev/axiom-log-streaming</link>
            <guid isPermaLink="false">https://stack.convex.dev/axiom-log-streaming</guid>
            <pubDate>Thu, 01 Feb 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Check out the behind-the-scenes engineering efforts that went behind Axiom's integration into Convex.]]></description>
            <content:encoded><![CDATA[Check out the behind-the-scenes engineering efforts that went behind Axiom's integration into Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[Texting your Web App to Create Posts]]></title>
            <link>https://stack.convex.dev/text-your-web-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/text-your-web-app</guid>
            <pubDate>Wed, 31 Jan 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Convex Ents: Manage your document relationships]]></title>
            <link>https://stack.convex.dev/ents</link>
            <guid isPermaLink="false">https://stack.convex.dev/ents</guid>
            <pubDate>Tue, 30 Jan 2024 21:59:00 GMT</pubDate>
            <description><![CDATA[Convex Ents is a library that provides: simpler ways to model and query related documents, ability to easily map and filter documents, enforcing unique field values, default field values, cascading deletes, soft deletion and more!]]></description>
            <content:encoded><![CDATA[Convex Ents is a library that provides: simpler ways to model and query related documents, ability to easily map and filter documents, enforcing unique field values, default field values, cascading deletes, soft deletion and more!]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Build a Real-Time Miro Clone With Nextjs, React, Tailwind (2024)]]></title>
            <link>https://stack.convex.dev/miro-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/miro-clone</guid>
            <pubDate>Mon, 29 Jan 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[In this 10 hour tutorial, you will learn how to create your very own Miro clone - A collaborative, real-time whiteboard. Notable features include a real-time database, whiteboard from scratch with ability to add shapes like Rectangles and Ellipses, Sticky notes and Pencil drawing.
]]></description>
            <content:encoded><![CDATA[In this 10 hour tutorial, you will learn how to create your very own Miro clone - A collaborative, real-time whiteboard. Notable features include a real-time database, whiteboard from scratch with ability to add shapes like Rectangles and Ellipses, Sticky notes and Pencil drawing.
]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Building a Subscription Based SaaS with Stripe]]></title>
            <link>https://stack.convex.dev/building-a-subscription-based-saas</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-a-subscription-based-saas</guid>
            <pubDate>Wed, 24 Jan 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[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. 
]]></description>
            <content:encoded><![CDATA[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. 
]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[Session Tracking Via Parameter Injection]]></title>
            <link>https://stack.convex.dev/track-sessions-without-cookies</link>
            <guid isPermaLink="false">https://stack.convex.dev/track-sessions-without-cookies</guid>
            <pubDate>Mon, 22 Jan 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[Advice and resources for session tracking per-tab or per-browser via localStorage / sessionStorage using React Context, hooks, and some utilities to make your life easier.]]></description>
            <content:encoded><![CDATA[Advice and resources for session tracking per-tab or per-browser via localStorage / sessionStorage using React Context, hooks, and some utilities to make your life easier.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Patterns</category>
            <category>React</category>
        </item>
        <item>
            <title><![CDATA[Using branded types in validators]]></title>
            <link>https://stack.convex.dev/using-branded-types-in-validators</link>
            <guid isPermaLink="false">https://stack.convex.dev/using-branded-types-in-validators</guid>
            <pubDate>Sat, 20 Jan 2024 03:31:33 GMT</pubDate>
            <description><![CDATA[If you have a more specific type than what you can express with Convex validators, you can still document that at the type level in Convex by casting once in your schema definition.]]></description>
            <content:encoded><![CDATA[If you have a more specific type than what you can express with Convex validators, you can still document that at the type level in Convex by casting once in your schema definition.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Database Relationship Helpers]]></title>
            <link>https://stack.convex.dev/functional-relationships-helpers</link>
            <guid isPermaLink="false">https://stack.convex.dev/functional-relationships-helpers</guid>
            <pubDate>Mon, 15 Jan 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Traverse database relationships in a readable, predictable, and debuggable way. Support for one-to-one, one-to-many, and many-to-many via utility functions available in convex-helpers.]]></description>
            <content:encoded><![CDATA[Traverse database relationships in a readable, predictable, and debuggable way. Support for one-to-one, one-to-many, and many-to-many via utility functions available in convex-helpers.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Building Context Augmented AI Chat in Practice: AICamp 2023 EOY Meetup]]></title>
            <link>https://stack.convex.dev/aicamp-augmented-chat</link>
            <guid isPermaLink="false">https://stack.convex.dev/aicamp-augmented-chat</guid>
            <pubDate>Tue, 09 Jan 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[At AICamp's end-of-year meetup for 2023, Michal goes over why you should build a custom AI-powered chat for your product, what options you have for building one, and which one you should ultimately choose.]]></description>
            <content:encoded><![CDATA[At AICamp's end-of-year meetup for 2023, Michal goes over why you should build a custom AI-powered chat for your product, what options you have for building one, and which one you should ultimately choose.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[The most exciting 4 hour coding challenge]]></title>
            <link>https://stack.convex.dev/wdc-coding-challenge-with-jason</link>
            <guid isPermaLink="false">https://stack.convex.dev/wdc-coding-challenge-with-jason</guid>
            <pubDate>Mon, 08 Jan 2024 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>TypeScript</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[4 Devs, 1 Idea, 4 Apps in 4 Hours(!!) with Convex]]></title>
            <link>https://stack.convex.dev/lwj-4devs1app-dnd-challenge</link>
            <guid isPermaLink="false">https://stack.convex.dev/lwj-4devs1app-dnd-challenge</guid>
            <pubDate>Mon, 08 Jan 2024 13:02:00 GMT</pubDate>
            <description><![CDATA[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.

]]></description>
            <content:encoded><![CDATA[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.

]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Web</category>
            <category>Patterns</category>
            <category>Hackathon</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Zod with TypeScript for Server-side Validation and End-to-End Types]]></title>
            <link>https://stack.convex.dev/typescript-zod-function-validation</link>
            <guid isPermaLink="false">https://stack.convex.dev/typescript-zod-function-validation</guid>
            <pubDate>Fri, 15 Dec 2023 03:00:02 GMT</pubDate>
            <description><![CDATA[Use Zod with TypeScript for argument validation on your server functions allows you to both protect against invalid data, and define TypeScript types that propagate to your client. This can now be used as an alternative to the built-in argument validation on Convex.]]></description>
            <content:encoded><![CDATA[Use Zod with TypeScript for argument validation on your server functions allows you to both protect against invalid data, and define TypeScript types that propagate to your client. This can now be used as an alternative to the built-in argument validation on Convex.]]></content:encoded>
            <author>Stack</author>
            <category>TypeScript</category>
            <category>Patterns</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[Customizing serverless functions without middleware]]></title>
            <link>https://stack.convex.dev/custom-functions</link>
            <guid isPermaLink="false">https://stack.convex.dev/custom-functions</guid>
            <pubDate>Thu, 14 Dec 2023 02:00:07 GMT</pubDate>
            <description><![CDATA[Re-use code and centralize request handler definitions with discoverability and type safety and without the indirection of middleware or nesting of wrappers. Use the new customFunction module in convex-helpers for your Convex TypeScript functions.]]></description>
            <content:encoded><![CDATA[Re-use code and centralize request handler definitions with discoverability and type safety and without the indirection of middleware or nesting of wrappers. Use the new customFunction module in convex-helpers for your Convex TypeScript functions.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[We Hosted a Hackathon for a Notion Clone]]></title>
            <link>https://stack.convex.dev/jotion-winners</link>
            <guid isPermaLink="false">https://stack.convex.dev/jotion-winners</guid>
            <pubDate>Tue, 12 Dec 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[We hosted a hackathon for building features on top of a Notion clone created by CodeWithAntonio. Here are the results.]]></description>
            <content:encoded><![CDATA[We hosted a hackathon for building features on top of a Notion clone created by CodeWithAntonio. Here are the results.]]></content:encoded>
            <author>Stack</author>
            <category>Hackathon</category>
        </item>
        <item>
            <title><![CDATA[Wait a minute, won't you? (Add a waitlist to your product)]]></title>
            <link>https://stack.convex.dev/waitlist</link>
            <guid isPermaLink="false">https://stack.convex.dev/waitlist</guid>
            <pubDate>Thu, 30 Nov 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Who's on Call? Learn to Sync Pagerduty with Slack]]></title>
            <link>https://stack.convex.dev/pagerduty-slack-sync</link>
            <guid isPermaLink="false">https://stack.convex.dev/pagerduty-slack-sync</guid>
            <pubDate>Tue, 28 Nov 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[Are Vector Databases Dead?]]></title>
            <link>https://stack.convex.dev/are-vector-databases-dead</link>
            <guid isPermaLink="false">https://stack.convex.dev/are-vector-databases-dead</guid>
            <pubDate>Tue, 21 Nov 2023 18:10:39 GMT</pubDate>
            <description><![CDATA[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?]]></description>
            <content:encoded><![CDATA[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?]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Build AI Chat with Convex Vector Search]]></title>
            <link>https://stack.convex.dev/ai-chat-with-convex-vector-search</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-chat-with-convex-vector-search</guid>
            <pubDate>Tue, 21 Nov 2023 18:10:26 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
            <category>Search</category>
        </item>
        <item>
            <title><![CDATA[Build AI Chat with LangChain and Convex]]></title>
            <link>https://stack.convex.dev/ai-chat-using-langchain-and-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-chat-using-langchain-and-convex</guid>
            <pubDate>Tue, 21 Nov 2023 18:10:03 GMT</pubDate>
            <description><![CDATA[In this second post in our series, we’ll build an AI-powered chat interface using LangChain and its new Convex integration.]]></description>
            <content:encoded><![CDATA[In this second post in our series, we’ll build an AI-powered chat interface using LangChain and its new Convex integration.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Build AI Chat with OpenAI's Assistants API]]></title>
            <link>https://stack.convex.dev/ai-chat-using-openai-assistants-api</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-chat-using-openai-assistants-api</guid>
            <pubDate>Tue, 21 Nov 2023 18:09:45 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Convex Build Bounty: Build new Jotion features, win cash prizes!]]></title>
            <link>https://stack.convex.dev/build-bounty-jotion</link>
            <guid isPermaLink="false">https://stack.convex.dev/build-bounty-jotion</guid>
            <pubDate>Thu, 16 Nov 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[Learn how you can win cash prizes for building features on an open-source Notion clone.]]></description>
            <content:encoded><![CDATA[Learn how you can win cash prizes for building features on an open-source Notion clone.]]></content:encoded>
            <author>Stack</author>
            <category>Hackathon</category>
        </item>
        <item>
            <title><![CDATA[Seeding Data for Preview Deployments]]></title>
            <link>https://stack.convex.dev/seeding-data-for-preview-deployments</link>
            <guid isPermaLink="false">https://stack.convex.dev/seeding-data-for-preview-deployments</guid>
            <pubDate>Wed, 08 Nov 2023 22:35:43 GMT</pubDate>
            <description><![CDATA[Now that we've launched Preview Deployments on Convex, you can test out backend changes easier than ever. But you may want to seed your project with data first, so let's go over how to do that.]]></description>
            <content:encoded><![CDATA[Now that we've launched Preview Deployments on Convex, you can test out backend changes easier than ever. But you may want to seed your project with data first, so let's go over how to do that.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Testing</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[A New Command to Start Building Faster: npm create convex]]></title>
            <link>https://stack.convex.dev/npm-create-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/npm-create-convex</guid>
            <pubDate>Mon, 06 Nov 2023 10:22:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Adding Data Integration to Your Convex Application with Fivetran]]></title>
            <link>https://stack.convex.dev/fivetran-alpha</link>
            <guid isPermaLink="false">https://stack.convex.dev/fivetran-alpha</guid>
            <pubDate>Thu, 02 Nov 2023 15:00:00 GMT</pubDate>
            <description><![CDATA[Launching our official Convex Fivetran connector.]]></description>
            <content:encoded><![CDATA[Launching our official Convex Fivetran connector.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[AI Town v2]]></title>
            <link>https://stack.convex.dev/ai-town-v2</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-town-v2</guid>
            <pubDate>Tue, 31 Oct 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[It's never been a better time to make your own town of AIs.]]></description>
            <content:encoded><![CDATA[It's never been a better time to make your own town of AIs.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[GPT Streaming With Persistent Reactivity]]></title>
            <link>https://stack.convex.dev/gpt-streaming-with-persistent-reactivity</link>
            <guid isPermaLink="false">https://stack.convex.dev/gpt-streaming-with-persistent-reactivity</guid>
            <pubDate>Thu, 26 Oct 2023 20:22:35 GMT</pubDate>
            <description><![CDATA[Stream GPT responses without brittle browser-based HTTP streaming.
Multiplayer reactivity, persistence, reactivity via Convex. Using OpenAI’s Node SDK server-side, and Convex's useQuery hook client-side.]]></description>
            <content:encoded><![CDATA[Stream GPT responses without brittle browser-based HTTP streaming.
Multiplayer reactivity, persistence, reactivity via Convex. Using OpenAI’s Node SDK server-side, and Convex's useQuery hook client-side.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>AI</category>
            <category>Fullstack</category>
            <category>React</category>
            <category>Reactivity</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Fullstack Notion Clone: Next.js 13, React, Convex, Tailwind | Full Course 2023]]></title>
            <link>https://stack.convex.dev/fullstack-notion-clone</link>
            <guid isPermaLink="false">https://stack.convex.dev/fullstack-notion-clone</guid>
            <pubDate>Wed, 11 Oct 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[I trained my own AI voice model to teach my kid]]></title>
            <link>https://stack.convex.dev/i-trained-my-own-ai-voice-model-to-teach-my-kid</link>
            <guid isPermaLink="false">https://stack.convex.dev/i-trained-my-own-ai-voice-model-to-teach-my-kid</guid>
            <pubDate>Mon, 18 Sep 2023 16:00:44 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[React Native Realtime Chat (Expo, File Upload, Typescript)]]></title>
            <link>https://stack.convex.dev/react-native-realtime-chat-expo</link>
            <guid isPermaLink="false">https://stack.convex.dev/react-native-realtime-chat-expo</guid>
            <pubDate>Tue, 12 Sep 2023 16:00:53 GMT</pubDate>
            <description><![CDATA[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!]]></description>
            <content:encoded><![CDATA[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!]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Clients</category>
        </item>
        <item>
            <title><![CDATA[Using Convex with Next.js Quickstart]]></title>
            <link>https://stack.convex.dev/wdc-using-convex-with-next-js-quickstart</link>
            <guid isPermaLink="false">https://stack.convex.dev/wdc-using-convex-with-next-js-quickstart</guid>
            <pubDate>Thu, 07 Sep 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[A quick start guide for using Convex with Next.js]]></description>
            <content:encoded><![CDATA[A quick start guide for using Convex with Next.js]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[How to code an AI powered Text Adventure Game (Next.js, Convex, OpenAI, DALL-E)]]></title>
            <link>https://stack.convex.dev/how-to-code-an-ai-powered-text-adventure-game</link>
            <guid isPermaLink="false">https://stack.convex.dev/how-to-code-an-ai-powered-text-adventure-game</guid>
            <pubDate>Wed, 06 Sep 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[
Build a text adventure game with Next.js, Convex, OpenAI, and DALL-E. Full stack walkthrough.]]></description>
            <content:encoded><![CDATA[
Build a text adventure game with Next.js, Convex, OpenAI, and DALL-E. Full stack walkthrough.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Building a Full Cloud Backend - Software Engineering Daily Podcast]]></title>
            <link>https://stack.convex.dev/building-a-full-cloud-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-a-full-cloud-backend</guid>
            <pubDate>Tue, 29 Aug 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[Discussion of patterns, psychology, abstractions, managing complexity, and more on the Software Engineering Daily Podcast with James Cowling]]></description>
            <content:encoded><![CDATA[Discussion of patterns, psychology, abstractions, managing complexity, and more on the Software Engineering Daily Podcast with James Cowling]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Building AI Town's Backend: Character Identities]]></title>
            <link>https://stack.convex.dev/building-ai-town-character-ids</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-ai-town-character-ids</guid>
            <pubDate>Thu, 24 Aug 2023 23:27:33 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>AI</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Lucia Auth: Implement Custom Authentication]]></title>
            <link>https://stack.convex.dev/convex-with-lucia</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-with-lucia</guid>
            <pubDate>Wed, 09 Aug 2023 23:34:00 GMT</pubDate>
            <description><![CDATA[Learn how to build a full stack app with authentication without any third-party auth providers, using Convex and the Lucia library.]]></description>
            <content:encoded><![CDATA[Learn how to build a full stack app with authentication without any third-party auth providers, using Convex and the Lucia library.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[The Next Level Firebase for Modern Developers]]></title>
            <link>https://stack.convex.dev/the-next-level-firebase-for-modern-developers</link>
            <guid isPermaLink="false">https://stack.convex.dev/the-next-level-firebase-for-modern-developers</guid>
            <pubDate>Mon, 24 Jul 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
            <content:encoded><![CDATA[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!]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
            <category>React</category>
        </item>
        <item>
            <title><![CDATA[Wake up, you need to make money! (Add Stripe to your product)]]></title>
            <link>https://stack.convex.dev/stripe-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/stripe-with-convex</guid>
            <pubDate>Wed, 19 Jul 2023 17:00:56 GMT</pubDate>
            <description><![CDATA[If you’re building a full-stack app, chances are you’ll want some of your users to pay you for the service you provide. How to use Stripe with Convex to get it done.]]></description>
            <content:encoded><![CDATA[If you’re building a full-stack app, chances are you’ll want some of your users to pay you for the service you provide. How to use Stripe with Convex to get it done.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Testing Your App: How to Generate Fake Data]]></title>
            <link>https://stack.convex.dev/generating-fake-data</link>
            <guid isPermaLink="false">https://stack.convex.dev/generating-fake-data</guid>
            <pubDate>Wed, 05 Jul 2023 20:40:50 GMT</pubDate>
            <description><![CDATA[Learn how to generate fake data for your dev deployments using the Faker library]]></description>
            <content:encoded><![CDATA[Learn how to generate fake data for your dev deployments using the Faker library]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Testing</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Using Pinecone and Embeddings]]></title>
            <link>https://stack.convex.dev/pinecone-and-embeddings</link>
            <guid isPermaLink="false">https://stack.convex.dev/pinecone-and-embeddings</guid>
            <pubDate>Wed, 28 Jun 2023 19:00:11 GMT</pubDate>
            <description><![CDATA[Pinecone and Convex are a good match when you're looking to build an application that leverages embeddings and also has application data.]]></description>
            <content:encoded><![CDATA[Pinecone and Convex are a good match when you're looking to build an application that leverages embeddings and also has application data.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Get Typeform Data Into Convex]]></title>
            <link>https://stack.convex.dev/get-typeform-data-into-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/get-typeform-data-into-convex</guid>
            <pubDate>Thu, 22 Jun 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[Leverage Typeform while keeping the data in a powerful transactional application database.]]></description>
            <content:encoded><![CDATA[Leverage Typeform while keeping the data in a powerful transactional application database.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[How to Generate AI Images from Scribbles with Next.js]]></title>
            <link>https://stack.convex.dev/how-to-generate-ai-images-from-scribbles-with-next-js</link>
            <guid isPermaLink="false">https://stack.convex.dev/how-to-generate-ai-images-from-scribbles-with-next-js</guid>
            <pubDate>Tue, 20 Jun 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[Building a full stack app to generate images based on a prompt and user-provided sketch]]></description>
            <content:encoded><![CDATA[Building a full stack app to generate images based on a prompt and user-provided sketch]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>Integration</category>
        </item>
        <item>
            <title><![CDATA[The Magic of Embeddings]]></title>
            <link>https://stack.convex.dev/the-magic-of-embeddings</link>
            <guid isPermaLink="false">https://stack.convex.dev/the-magic-of-embeddings</guid>
            <pubDate>Wed, 07 Jun 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[Embeddings, why they’re useful, and how we can store and use them in Convex.]]></description>
            <content:encoded><![CDATA[Embeddings, why they’re useful, and how we can store and use them in Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
            <category>Patterns</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Building a full-stack AI storybook app with LangChain, Replicate, and OpenAI]]></title>
            <link>https://stack.convex.dev/ai-storybook-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/ai-storybook-app</guid>
            <pubDate>Tue, 06 Jun 2023 16:16:10 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Moving From Airtable -> Convex]]></title>
            <link>https://stack.convex.dev/airtable-to-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/airtable-to-convex</guid>
            <pubDate>Tue, 23 May 2023 19:00:40 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Convex gets Rusty with Santa]]></title>
            <link>https://stack.convex.dev/get-rusty-with-santa</link>
            <guid isPermaLink="false">https://stack.convex.dev/get-rusty-with-santa</guid>
            <pubDate>Wed, 17 May 2023 13:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Row Level Security]]></title>
            <link>https://stack.convex.dev/row-level-security</link>
            <guid isPermaLink="false">https://stack.convex.dev/row-level-security</guid>
            <pubDate>Mon, 15 May 2023 19:00:47 GMT</pubDate>
            <description><![CDATA[Add row-level security to your database access by wrapping database reads and writes in your Convex serverless functions.]]></description>
            <content:encoded><![CDATA[Add row-level security to your database access by wrapping database reads and writes in your Convex serverless functions.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Relationship Structures: Let's Talk About Schemas]]></title>
            <link>https://stack.convex.dev/relationship-structures-let-s-talk-about-schemas</link>
            <guid isPermaLink="false">https://stack.convex.dev/relationship-structures-let-s-talk-about-schemas</guid>
            <pubDate>Tue, 09 May 2023 17:00:00 GMT</pubDate>
            <description><![CDATA[In this post we’ll look at some patterns for structuring relationships in the Convex database.]]></description>
            <content:encoded><![CDATA[In this post we’ll look at some patterns for structuring relationships in the Convex database.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[End-to-end TypeScript with Convex]]></title>
            <link>https://stack.convex.dev/end-to-end-ts</link>
            <guid isPermaLink="false">https://stack.convex.dev/end-to-end-ts</guid>
            <pubDate>Mon, 08 May 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[Convex provides automatic type safety all the way from your database schema to your React app. How does it work? Hint: we use some wild TypeScript.]]></description>
            <content:encoded><![CDATA[Convex provides automatic type safety all the way from your database schema to your React app. How does it work? Hint: we use some wild TypeScript.]]></content:encoded>
            <author>Stack</author>
            <category>TypeScript</category>
        </item>
        <item>
            <title><![CDATA[Intro to Migrations]]></title>
            <link>https://stack.convex.dev/intro-to-migrations</link>
            <guid isPermaLink="false">https://stack.convex.dev/intro-to-migrations</guid>
            <pubDate>Fri, 05 May 2023 18:00:00 GMT</pubDate>
            <description><![CDATA[There are as many ways to migrate data as there are databases, but here’s some basic information to set the stage.]]></description>
            <content:encoded><![CDATA[There are as many ways to migrate data as there are databases, but here’s some basic information to set the stage.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Everyone Can Be a Full-Stack Engineer]]></title>
            <link>https://stack.convex.dev/everyone-can-be-a-full-stack-engineer</link>
            <guid isPermaLink="false">https://stack.convex.dev/everyone-can-be-a-full-stack-engineer</guid>
            <pubDate>Wed, 12 Apr 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[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.
]]></description>
            <content:encoded><![CDATA[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.
]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Fundamentals</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[5 Dashboard Tricks]]></title>
            <link>https://stack.convex.dev/5-dashboard-tricks</link>
            <guid isPermaLink="false">https://stack.convex.dev/5-dashboard-tricks</guid>
            <pubDate>Thu, 23 Mar 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[Did you know you can use the Convex Dashboard to run functions, enter seed data, filter & delete data, upload files, and more?]]></description>
            <content:encoded><![CDATA[Did you know you can use the Convex Dashboard to run functions, enter seed data, filter & delete data, upload files, and more?]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Searching for Sanity]]></title>
            <link>https://stack.convex.dev/searching-for-sanity</link>
            <guid isPermaLink="false">https://stack.convex.dev/searching-for-sanity</guid>
            <pubDate>Wed, 15 Mar 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[Your document is safely stored, but search is coming up empty? Inconsistent search systems can really confuse users! Don't worry–in Convex, transactional search indexing ensures that users always get what they expect and your apps just work.]]></description>
            <content:encoded><![CDATA[Your document is safely stored, but search is coming up empty? Inconsistent search systems can really confuse users! Don't worry–in Convex, transactional search indexing ensures that users always get what they expect and your apps just work.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Perspectives</category>
            <category>Search</category>
        </item>
        <item>
            <title><![CDATA[Moderating ChatGPT Content: Full-Stack]]></title>
            <link>https://stack.convex.dev/moderating-chatgpt-content-full-stack</link>
            <guid isPermaLink="false">https://stack.convex.dev/moderating-chatgpt-content-full-stack</guid>
            <pubDate>Fri, 10 Mar 2023 01:00:43 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Adding Personality to ChatGPT-3]]></title>
            <link>https://stack.convex.dev/adding-personality-to-chatgpt-3</link>
            <guid isPermaLink="false">https://stack.convex.dev/adding-personality-to-chatgpt-3</guid>
            <pubDate>Tue, 07 Mar 2023 01:00:52 GMT</pubDate>
            <description><![CDATA[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. ]]></description>
            <content:encoded><![CDATA[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. ]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>Integration</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Advanced HTTP Endpoints: Convex ❤️ Hono]]></title>
            <link>https://stack.convex.dev/hono-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/hono-with-convex</guid>
            <pubDate>Mon, 06 Mar 2023 21:00:00 GMT</pubDate>
            <description><![CDATA[Adding advanced HTTP Endpoint functionality by extending Convex with Hono.]]></description>
            <content:encoded><![CDATA[Adding advanced HTTP Endpoint functionality by extending Convex with Hono.]]></content:encoded>
            <author>Stack</author>
            <category>Integration</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Building a Full-Stack ChatGPT app]]></title>
            <link>https://stack.convex.dev/full-stack-chatgpt-app</link>
            <guid isPermaLink="false">https://stack.convex.dev/full-stack-chatgpt-app</guid>
            <pubDate>Sat, 04 Mar 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[Let's build a full-stack chat app to talk to ChatGPT on its new API!]]></description>
            <content:encoded><![CDATA[Let's build a full-stack chat app to talk to ChatGPT on its new API!]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>Integration</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Type-safe, data-driven apps, even if databases freak you out]]></title>
            <link>https://stack.convex.dev/type-safe-data-driven-apps-even-if-databases-freak-you-out</link>
            <guid isPermaLink="false">https://stack.convex.dev/type-safe-data-driven-apps-even-if-databases-freak-you-out</guid>
            <pubDate>Tue, 28 Feb 2023 17:00:00 GMT</pubDate>
            <description><![CDATA[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.
]]></description>
            <content:encoded><![CDATA[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.
]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Help, my app is overreacting!]]></title>
            <link>https://stack.convex.dev/help-my-app-is-overreacting</link>
            <guid isPermaLink="false">https://stack.convex.dev/help-my-app-is-overreacting</guid>
            <pubDate>Tue, 21 Feb 2023 18:00:00 GMT</pubDate>
            <description><![CDATA[Reactive backends like Convex make building live-updating apps a cinch, but default behavior might be too reactive for some use cases. Not to worry! Let’s fine-tune the reactive dataflow of a Convex + React app to deliver a better UX.]]></description>
            <content:encoded><![CDATA[Reactive backends like Convex make building live-updating apps a cinch, but default behavior might be too reactive for some use cases. Not to worry! Let’s fine-tune the reactive dataflow of a Convex + React app to deliver a better UX.]]></content:encoded>
            <author>Stack</author>
            <category>React</category>
            <category>Reactivity</category>
            <category>Patterns</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Discord Bot Webhooks with Convex]]></title>
            <link>https://stack.convex.dev/webhooks-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/webhooks-with-convex</guid>
            <pubDate>Tue, 14 Feb 2023 23:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Testing React Components with Convex]]></title>
            <link>https://stack.convex.dev/testing-react-components-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/testing-react-components-with-convex</guid>
            <pubDate>Fri, 10 Feb 2023 18:30:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
            <category>React</category>
            <category>Testing</category>
        </item>
        <item>
            <title><![CDATA[Background Job Management]]></title>
            <link>https://stack.convex.dev/background-job-management</link>
            <guid isPermaLink="false">https://stack.convex.dev/background-job-management</guid>
            <pubDate>Wed, 08 Feb 2023 00:00:33 GMT</pubDate>
            <description><![CDATA[Implement asynchronous job patterns using a table to track progress. Fire-and-forget, cancelation, timeouts, and more.]]></description>
            <content:encoded><![CDATA[Implement asynchronous job patterns using a table to track progress. Fire-and-forget, cancelation, timeouts, and more.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[End-to-End Encryption with Convex]]></title>
            <link>https://stack.convex.dev/end-to-end-encryption-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/end-to-end-encryption-with-convex</guid>
            <pubDate>Fri, 03 Feb 2023 17:00:00 GMT</pubDate>
            <description><![CDATA[Implementing end-to-end encryption on top of Convex to build a secret-sharing app.]]></description>
            <content:encoded><![CDATA[Implementing end-to-end encryption on top of Convex to build a secret-sharing app.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Anonymous Users via Sessions]]></title>
            <link>https://stack.convex.dev/anonymous-users-via-sessions</link>
            <guid isPermaLink="false">https://stack.convex.dev/anonymous-users-via-sessions</guid>
            <pubDate>Thu, 02 Feb 2023 20:00:01 GMT</pubDate>
            <description><![CDATA[Getting users to sign up for a new service before seeing any benefits is challenging. In this post, we looked at a couple of strategies for managing user information without requiring a login.]]></description>
            <content:encoded><![CDATA[Getting users to sign up for a new service before seeing any benefits is challenging. In this post, we looked at a couple of strategies for managing user information without requiring a login.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Using Dall-E from Convex]]></title>
            <link>https://stack.convex.dev/using-dall-e-from-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/using-dall-e-from-convex</guid>
            <pubDate>Tue, 31 Jan 2023 20:00:11 GMT</pubDate>
            <description><![CDATA[Use Convex to fetch an image from OpenAI’s image generation service based on a user-provided prompt.]]></description>
            <content:encoded><![CDATA[Use Convex to fetch an image from OpenAI’s image generation service based on a user-provided prompt.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Integration</category>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Building a Multiplayer Game]]></title>
            <link>https://stack.convex.dev/building-a-multiplayer-game</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-a-multiplayer-game</guid>
            <pubDate>Tue, 31 Jan 2023 19:00:59 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[It's not you, it's SQL]]></title>
            <link>https://stack.convex.dev/not-sql</link>
            <guid isPermaLink="false">https://stack.convex.dev/not-sql</guid>
            <pubDate>Sun, 29 Jan 2023 19:00:00 GMT</pubDate>
            <description><![CDATA[SQL has been a part of computing for a very long time, and SQL-based database systems underly most of the world's applications. But recently, developers have been clamoring for something better, and it's time to move on.]]></description>
            <content:encoded><![CDATA[SQL has been a part of computing for a very long time, and SQL-based database systems underly most of the world's applications. But recently, developers have been clamoring for something better, and it's time to move on.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Sessions: Wrappers as "Middleware"]]></title>
            <link>https://stack.convex.dev/sessions-wrappers-as-middleware</link>
            <guid isPermaLink="false">https://stack.convex.dev/sessions-wrappers-as-middleware</guid>
            <pubDate>Fri, 27 Jan 2023 20:00:01 GMT</pubDate>
            <description><![CDATA[An approach to server-persisted session data with Convex, wrapping your server functions and storing a session ID on the client.]]></description>
            <content:encoded><![CDATA[An approach to server-persisted session data with Convex, wrapping your server functions and storing a session ID on the client.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Fullstack</category>
            <category>Sessions</category>
        </item>
        <item>
            <title><![CDATA[Zod Validation: Wrappers as “Middleware”]]></title>
            <link>https://stack.convex.dev/wrappers-as-middleware-zod-validation</link>
            <guid isPermaLink="false">https://stack.convex.dev/wrappers-as-middleware-zod-validation</guid>
            <pubDate>Tue, 24 Jan 2023 23:00:00 GMT</pubDate>
            <description><![CDATA[Function validation is important for a production app because you can’t always control which clients are talking to your server. See how to use zod to validate your Convex functions, using our withZod wrapper.]]></description>
            <content:encoded><![CDATA[Function validation is important for a production app because you can’t always control which clients are talking to your server. See how to use zod to validate your Convex functions, using our withZod wrapper.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Edge to Butt: Wrappers as "Middleware"]]></title>
            <link>https://stack.convex.dev/wrappers-middleware-e2b</link>
            <guid isPermaLink="false">https://stack.convex.dev/wrappers-middleware-e2b</guid>
            <pubDate>Sat, 21 Jan 2023 00:03:42 GMT</pubDate>
            <description><![CDATA[Convex middleware serves many purposes. Sometimes authentication, sometimes i18n. This time? Making sense (or nonsense) of emerging technology industry trends.]]></description>
            <content:encoded><![CDATA[Convex middleware serves many purposes. Sometimes authentication, sometimes i18n. This time? Making sense (or nonsense) of emerging technology industry trends.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Authentication: Wrappers as “Middleware”]]></title>
            <link>https://stack.convex.dev/wrappers-as-middleware-authentication</link>
            <guid isPermaLink="false">https://stack.convex.dev/wrappers-as-middleware-authentication</guid>
            <pubDate>Fri, 20 Jan 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[Using wrapper functions like withUser can help you organize your code into middleware-like blocks that you can compose to keep your function logic concise.]]></description>
            <content:encoded><![CDATA[Using wrapper functions like withUser can help you organize your code into middleware-like blocks that you can compose to keep your function logic concise.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
        </item>
        <item>
            <title><![CDATA[Implementing Upvoting 4 Ways on Convex]]></title>
            <link>https://stack.convex.dev/upvoting-4-ways-on-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/upvoting-4-ways-on-convex</guid>
            <pubDate>Wed, 11 Jan 2023 17:00:00 GMT</pubDate>
            <description><![CDATA[Implementing an "upvote" feature 4 ways with Convex.]]></description>
            <content:encoded><![CDATA[Implementing an "upvote" feature 4 ways with Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
            <category>Web</category>
        </item>
        <item>
            <title><![CDATA[Implementing Presence with Convex]]></title>
            <link>https://stack.convex.dev/presence-with-convex</link>
            <guid isPermaLink="false">https://stack.convex.dev/presence-with-convex</guid>
            <pubDate>Tue, 10 Jan 2023 00:00:44 GMT</pubDate>
            <description><![CDATA[Some patterns for incorporating presence into a web app leveraging Convex, and sharing some tips & utilities I built along the way.]]></description>
            <content:encoded><![CDATA[Some patterns for incorporating presence into a web app leveraging Convex, and sharing some tips & utilities I built along the way.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Patterns</category>
            <category>Web</category>
            <category>Walkthroughs</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[Don't Drop ACID]]></title>
            <link>https://stack.convex.dev/dont-drop-acid</link>
            <guid isPermaLink="false">https://stack.convex.dev/dont-drop-acid</guid>
            <pubDate>Thu, 15 Dec 2022 17:00:00 GMT</pubDate>
            <description><![CDATA[When your database supports ACID semantics, you're free to write code the intuitive way and ignore the complexities of concurrency and failure.]]></description>
            <content:encoded><![CDATA[When your database supports ACID semantics, you're free to write code the intuitive way and ignore the complexities of concurrency and failure.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Building an Application Portal on Convex]]></title>
            <link>https://stack.convex.dev/building-an-application-portal</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-an-application-portal</guid>
            <pubDate>Wed, 14 Dec 2022 19:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>React</category>
        </item>
        <item>
            <title><![CDATA[Fully Reactive Pagination]]></title>
            <link>https://stack.convex.dev/fully-reactive-pagination</link>
            <guid isPermaLink="false">https://stack.convex.dev/fully-reactive-pagination</guid>
            <pubDate>Wed, 07 Dec 2022 19:00:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
            <content:encoded><![CDATA[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!]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
            <category>Reactivity</category>
            <category>React</category>
        </item>
        <item>
            <title><![CDATA[Throttling Requests by Single-Flighting]]></title>
            <link>https://stack.convex.dev/throttling-requests-by-single-flighting</link>
            <guid isPermaLink="false">https://stack.convex.dev/throttling-requests-by-single-flighting</guid>
            <pubDate>Wed, 30 Nov 2022 17:00:00 GMT</pubDate>
            <description><![CDATA[For write-heavy applications, use single flighting to dynamically throttle requests. See how we implement this with React hooks for Convex.]]></description>
            <content:encoded><![CDATA[For write-heavy applications, use single flighting to dynamically throttle requests. See how we implement this with React hooks for Convex.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Patterns</category>
            <category>React</category>
        </item>
        <item>
            <title><![CDATA[Ready for Actions]]></title>
            <link>https://stack.convex.dev/ready-for-actions</link>
            <guid isPermaLink="false">https://stack.convex.dev/ready-for-actions</guid>
            <pubDate>Mon, 28 Nov 2022 17:00:16 GMT</pubDate>
            <description><![CDATA[Convex 0.5.0 introduces built-in support for actions — arbitrary lambda functions that run in a Node.js environment on the Convex cloud. We use the term action to differentiate these functions from Convex mutation and query functions, which enable transactional writes and dynamic subscriptions that update whenever data changes.]]></description>
            <content:encoded><![CDATA[Convex 0.5.0 introduces built-in support for actions — arbitrary lambda functions that run in a Node.js environment on the Convex cloud. We use the term action to differentiate these functions from Convex mutation and query functions, which enable transactional writes and dynamic subscriptions that update whenever data changes.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Jamstack Conf 2022 Panel: The Future of Databases]]></title>
            <link>https://stack.convex.dev/jamstack-conf-2022-panel-the-future-of-databases</link>
            <guid isPermaLink="false">https://stack.convex.dev/jamstack-conf-2022-panel-the-future-of-databases</guid>
            <pubDate>Wed, 23 Nov 2022 20:00:00 GMT</pubDate>
            <description><![CDATA[Today, a new wave of innovation is making databases approachable for developers without requiring a specialized skillset, opening the door to a whole new category of ambitious web experiences. In this panel, you’ll hear from the people pushing the boundaries of database technology and learn what’s possible — and what’s coming.]]></description>
            <content:encoded><![CDATA[Today, a new wave of innovation is making databases approachable for developers without requiring a specialized skillset, opening the door to a whole new category of ambitious web experiences. In this panel, you’ll hear from the people pushing the boundaries of database technology and learn what’s possible — and what’s coming.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Fullstack</category>
            <category>Comparisons</category>
        </item>
        <item>
            <title><![CDATA[Launching Features Right on Time: Feature Gating]]></title>
            <link>https://stack.convex.dev/feature-gating</link>
            <guid isPermaLink="false">https://stack.convex.dev/feature-gating</guid>
            <pubDate>Mon, 21 Nov 2022 16:39:00 GMT</pubDate>
            <description><![CDATA[Today we’re going to talk about how to flip features on and off remotely using a clever use of the reactive nature of Convex queries. ]]></description>
            <content:encoded><![CDATA[Today we’re going to talk about how to flip features on and off remotely using a clever use of the reactive nature of Convex queries. ]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Patterns</category>
            <category>React</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[The serverless revolution deserves more than just a serverless database]]></title>
            <link>https://stack.convex.dev/serverless-revolution</link>
            <guid isPermaLink="false">https://stack.convex.dev/serverless-revolution</guid>
            <pubDate>Fri, 18 Nov 2022 14:17:00 GMT</pubDate>
            <description><![CDATA[The serverless movement has eliminated so many problems but it has left application developers with the hardest one of all: managing distributed state.]]></description>
            <content:encoded><![CDATA[The serverless movement has eliminated so many problems but it has left application developers with the hardest one of all: managing distributed state.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Perspectives</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[The future of databases is not just a database]]></title>
            <link>https://stack.convex.dev/future-of-databases</link>
            <guid isPermaLink="false">https://stack.convex.dev/future-of-databases</guid>
            <pubDate>Fri, 11 Nov 2022 13:20:00 GMT</pubDate>
            <description><![CDATA[The future of databases is Convex. This video originally aired at Jamstack 2022, highlighting the next evolution of modern web development architecture.]]></description>
            <content:encoded><![CDATA[The future of databases is Convex. This video originally aired at Jamstack 2022, highlighting the next evolution of modern web development architecture.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Fullstack</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[Convex and the future of streaming infrastructure]]></title>
            <link>https://stack.convex.dev/infra-roundtable</link>
            <guid isPermaLink="false">https://stack.convex.dev/infra-roundtable</guid>
            <pubDate>Wed, 09 Nov 2022 13:26:00 GMT</pubDate>
            <description><![CDATA[Hosted by Ian & Alex, with Alana (Readyset), Hojjat (Deltastream), Jamie (Convex).]]></description>
            <content:encoded><![CDATA[Hosted by Ian & Alex, with Alana (Readyset), Hojjat (Deltastream), Jamie (Convex).]]></content:encoded>
            <author>Stack</author>
            <category>Comparisons</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[Build a Reactive Backend for a Web App]]></title>
            <link>https://stack.convex.dev/reactive-backend</link>
            <guid isPermaLink="false">https://stack.convex.dev/reactive-backend</guid>
            <pubDate>Wed, 05 Oct 2022 12:27:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
            <category>React</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[Managing Reactivity with useBufferedState]]></title>
            <link>https://stack.convex.dev/coping-with-the-web-s-looming-global-reactivity-crisis</link>
            <guid isPermaLink="false">https://stack.convex.dev/coping-with-the-web-s-looming-global-reactivity-crisis</guid>
            <pubDate>Thu, 18 Aug 2022 21:03:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Patterns</category>
            <category>Reactivity</category>
            <category>Web</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Intro to Convex Query Performance]]></title>
            <link>https://stack.convex.dev/convex-query-performance</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-query-performance</guid>
            <pubDate>Fri, 15 Jul 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fundamentals</category>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Backend Matters (Making Fast5 #2)]]></title>
            <link>https://stack.convex.dev/backend-matters-fast5</link>
            <guid isPermaLink="false">https://stack.convex.dev/backend-matters-fast5</guid>
            <pubDate>Fri, 15 Jul 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>Fullstack</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[The platform you need, when you need it]]></title>
            <link>https://stack.convex.dev/platform-you-need</link>
            <guid isPermaLink="false">https://stack.convex.dev/platform-you-need</guid>
            <pubDate>Tue, 31 May 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[You don’t have to worry about the platform locking you into a decision that seems convenient at first but is a headache to deal with later.]]></description>
            <content:encoded><![CDATA[You don’t have to worry about the platform locking you into a decision that seems convenient at first but is a headache to deal with later.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Local and Remote State (Making Fast5 #1)]]></title>
            <link>https://stack.convex.dev/local-remote-state-fast5</link>
            <guid isPermaLink="false">https://stack.convex.dev/local-remote-state-fast5</guid>
            <pubDate>Wed, 25 May 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>React</category>
            <category>Reactivity</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Introducing Fast5]]></title>
            <link>https://stack.convex.dev/introducing-fast5</link>
            <guid isPermaLink="false">https://stack.convex.dev/introducing-fast5</guid>
            <pubDate>Fri, 13 May 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[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!]]></description>
            <content:encoded><![CDATA[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!]]></content:encoded>
            <author>Stack</author>
            <category>React</category>
            <category>Fullstack</category>
            <category>Walkthroughs</category>
        </item>
        <item>
            <title><![CDATA[Data Interactivity in the Serverless Future (HYTRADBOI 2022)]]></title>
            <link>https://stack.convex.dev/data-interactivity-in-the-serverless-future</link>
            <guid isPermaLink="false">https://stack.convex.dev/data-interactivity-in-the-serverless-future</guid>
            <pubDate>Mon, 02 May 2022 12:27:00 GMT</pubDate>
            <description><![CDATA[Dynamic application developers need global state management, not a database.

James (@jamesacowling) presents his talk from the HYTRADBOI 2022 database conference on how Convex is rethinking how app developers manage global state.]]></description>
            <content:encoded><![CDATA[Dynamic application developers need global state management, not a database.

James (@jamesacowling) presents his talk from the HYTRADBOI 2022 database conference on how Convex is rethinking how app developers manage global state.]]></content:encoded>
            <author>Stack</author>
            <category>Fullstack</category>
            <category>Reactivity</category>
            <category>React</category>
            <category>Perspectives</category>
        </item>
        <item>
            <title><![CDATA[Convex vs. Relational Databases]]></title>
            <link>https://stack.convex.dev/convex-vs-relational-databases</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-vs-relational-databases</guid>
            <pubDate>Wed, 27 Apr 2022 00:35:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Reactivity</category>
            <category>Fullstack</category>
            <category>Comparisons</category>
            <category>Fundamentals</category>
        </item>
        <item>
            <title><![CDATA[Convex vs. Firebase]]></title>
            <link>https://stack.convex.dev/convex-vs-firebase</link>
            <guid isPermaLink="false">https://stack.convex.dev/convex-vs-firebase</guid>
            <pubDate>Thu, 21 Apr 2022 16:00:00 GMT</pubDate>
            <description><![CDATA[On Cloud Firestore, you'll have to do some acrobatics to integrate with React and listen for realtime updates. Down the road, you'll find your app full of slow loading experiences from request waterfalls and your database full of half-committed mutations.]]></description>
            <content:encoded><![CDATA[On Cloud Firestore, you'll have to do some acrobatics to integrate with React and listen for realtime updates. Down the road, you'll find your app full of slow loading experiences from request waterfalls and your database full of half-committed mutations.]]></content:encoded>
            <author>Stack</author>
            <category>Comparisons</category>
            <category>React</category>
            <category>Fullstack</category>
        </item>
        <item>
            <title><![CDATA[Building reactive web apps on Convex]]></title>
            <link>https://stack.convex.dev/building-reactive-web-apps</link>
            <guid isPermaLink="false">https://stack.convex.dev/building-reactive-web-apps</guid>
            <pubDate>Tue, 19 Apr 2022 12:29:00 GMT</pubDate>
            <description><![CDATA[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.]]></description>
            <content:encoded><![CDATA[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.]]></content:encoded>
            <author>Stack</author>
            <category>Walkthroughs</category>
            <category>React</category>
            <category>Fullstack</category>
            <category>Reactivity</category>
        </item>
        <item>
            <title><![CDATA[The unfulfilled promise of functional ideals on the web]]></title>
            <link>https://stack.convex.dev/functional-ideals</link>
            <guid isPermaLink="false">https://stack.convex.dev/functional-ideals</guid>
            <pubDate>Tue, 15 Feb 2022 17:00:00 GMT</pubDate>
            <description><![CDATA[Ideas around immutability, purity, and dataflow programming are quietly saturating our technologies like Bitcoin and React. And while these early inroads are enabling exciting new ways to build large and dependable applications, there is still much to do to realize the full potential of this revolution.]]></description>
            <content:encoded><![CDATA[Ideas around immutability, purity, and dataflow programming are quietly saturating our technologies like Bitcoin and React. And while these early inroads are enabling exciting new ways to build large and dependable applications, there is still much to do to realize the full potential of this revolution.]]></content:encoded>
            <author>Stack</author>
            <category>Perspectives</category>
            <category>Fullstack</category>
            <category>Reactivity</category>
        </item>
    </channel>
</rss>