<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Demos | Electric</title>
    <meta name="description" content="Demos and example applications build with ElectricSQL.">
    <meta name="generator" content="VitePress v1.5.0">
    <link rel="preload stylesheet" href="/assets/style.CkYTyNDv.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.KkxptHNk.js"></script>
    <link rel="modulepreload" href="/assets/src_partials_home-features-after.md.CiJU7-Dl.js">
    <link rel="modulepreload" href="/assets/chunks/framework.BA3cFARW.js">
    <link rel="modulepreload" href="/assets/chunks/demos.data.a-_Yte91.js">
    <link rel="modulepreload" href="/assets/demos.md.hBaGW3dN.lean.js">
    <link rel="icon" type="image/png" href="/img/brand/favicon.png">
    <link rel="icon" type="image/svg+xml" href="/img/brand/favicon.svg">
    <link rel="prerender" href="https://airtable.com/embed/appDitPIpjlAxK7CL/pagrWjq3qw5Fp68Wa/form">
    <script defer data-domain="electric-sql.com" src="https://plausible.io/js/script.js"></script>
    <script id="check-dark-mode">document.documentElement.classList.add("dark");</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:site" content="@ElectricSQL">
    <meta name="twitter:title" content="Demos | ElectricSQL">
    <meta name="twitter:description" content="Demos and example applications build with ElectricSQL.">
    <meta name="twitter:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fimg%2Fdemos%2Fdemos-header.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
    <meta property="og:title" content="Demos | ElectricSQL">
    <meta property="og:description" content="Demos and example applications build with ElectricSQL.">
    <meta property="og:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fimg%2Fdemos%2Fdemos-header.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-a29e6ba2><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c3906ed2></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c3906ed2> Skip to content </a><!--]--><!----><header class="VPNav" data-v-a29e6ba2 data-v-388babf5><div class="VPNavBar" data-v-388babf5 data-v-5d557444><div class="wrapper" data-v-5d557444><div class="container" data-v-5d557444><div class="title" data-v-5d557444><div class="VPNavBarTitle has-sidebar" data-v-5d557444 data-v-ac766fc0><a class="title" href="/" data-v-ac766fc0><!--[--><!--]--><!--[--><img class="VPImage logo" src="/img/brand/logo.svg" alt data-v-2d46c176><!--]--><!----><!--[--><!--]--></a></div></div><div class="content" data-v-5d557444><div class="content-body" data-v-5d557444><!--[--><!--]--><div class="VPNavBarSearch search" data-v-5d557444><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-5d557444 data-v-e138a194><span id="main-nav-aria-label" class="visually-hidden" data-v-e138a194> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sync" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Sync</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/primitives" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Primitives</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/cloud" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Cloud</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/pricing" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Pricing</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/intro" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Docs</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/demos" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Demos</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blog" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Blog</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/about/community" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>About</span><!--]--></a><!--]--><!--[--><div class="nav-item VPNavBarMenuLink VPNavBarCTA" data-v-e138a194 data-v-f78c127b><div class="cta-lg" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div><div class="cta-md" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Cloud</a></div><div class="cta-sm" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div></div><!--]--><!--]--></nav><!----><!----><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-5d557444 data-v-c62242fd data-v-e5810ca3><!--[--><a class="VPSocialLink no-icon" href="https://durablestreams.com" aria-label="durable-streams" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-durable-streams"></span></a><a class="VPSocialLink no-icon" href="https://tanstack.com/db" aria-label="tanstack" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-tanstack"></span></a><a class="VPSocialLink no-icon" href="https://pglite.dev" aria-label="pglite" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-pglite"></span></a><a class="VPSocialLink no-icon" href="https://x.com/ElectricSQL" aria-label="x" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://discord.electric-sql.com" aria-label="discord" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/electric-sql/electric" aria-label="github" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-5d557444 data-v-73029a02 data-v-8015fcbb><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-8015fcbb><span class="vpi-more-horizontal icon" data-v-8015fcbb></span></button><div class="menu" data-v-8015fcbb><div class="VPMenu" data-v-8015fcbb data-v-cbddf0cc><!----><!--[--><!--[--><!----><!----><div class="group" data-v-73029a02><div class="item social-links" data-v-73029a02><div class="VPSocialLinks social-links-list" data-v-73029a02 data-v-e5810ca3><!--[--><a class="VPSocialLink no-icon" href="https://durablestreams.com" aria-label="durable-streams" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-durable-streams"></span></a><a class="VPSocialLink no-icon" href="https://tanstack.com/db" aria-label="tanstack" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-tanstack"></span></a><a class="VPSocialLink no-icon" href="https://pglite.dev" aria-label="pglite" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-pglite"></span></a><a class="VPSocialLink no-icon" href="https://x.com/ElectricSQL" aria-label="x" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://discord.electric-sql.com" aria-label="discord" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/electric-sql/electric" aria-label="github" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--[--><!--[--><div class="nav-item VPNavBarMenuLink VPNavBarCTA" data-v-f78c127b><div class="cta-lg" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div><div class="cta-md" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Cloud</a></div><div class="cta-sm" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div></div><!--]--><!--]--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-5d557444 data-v-998521f3><span class="container" data-v-998521f3><span class="top" data-v-998521f3></span><span class="middle" data-v-998521f3></span><span class="bottom" data-v-998521f3></span></span></button></div></div></div></div><div class="divider" data-v-5d557444><div class="divider-line" data-v-5d557444></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-a29e6ba2 data-v-c84339ae><div class="container" data-v-c84339ae><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-c84339ae><span class="vpi-align-left menu-icon" data-v-c84339ae></span><span class="menu-text" data-v-c84339ae>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-c84339ae data-v-91cce16e><button data-v-91cce16e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-a29e6ba2 data-v-0a014151><div class="curtain" data-v-0a014151></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-0a014151><span class="visually-hidden" id="sidebar-aria-label" data-v-0a014151> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Demos</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/burn" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Burn</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/ai-chat" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>AI Chat</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/territory-wars" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Territory Wars</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/linearlite" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Linearlite</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/notes" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Notes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/pixel-art" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Pixel art</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Examples</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/bash" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Bash</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/encryption" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Encryption</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/gatekeeper-auth" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Gatekeeper auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/nextjs" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Next.js</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/phoenix-liveview" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Phoenix LiveView</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/proxy-auth" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Proxy auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/react" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>React</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/redis" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Redis</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/remix" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Remix</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/tanstack" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Tanstack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/todo-app" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Todo app</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/write-patterns" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Write patterns</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/demos/yjs" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Yjs</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-a29e6ba2 data-v-93396c71><div class="VPDoc has-sidebar has-aside" data-v-93396c71 data-v-e5fa90be><!--[--><!--]--><div class="container" data-v-e5fa90be><div class="aside" data-v-e5fa90be><div class="aside-curtain" data-v-e5fa90be></div><div class="aside-container" data-v-e5fa90be><div class="aside-content" data-v-e5fa90be><div class="VPDocAside" data-v-e5fa90be data-v-3e59a195><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3e59a195 data-v-2fe00466><div class="content" data-v-2fe00466><div class="outline-marker" data-v-2fe00466></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-2fe00466>On this page</div><ul class="VPDocOutlineItem root" data-v-2fe00466 data-v-1c0671af><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3e59a195></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e5fa90be><div class="content-container" data-v-e5fa90be><!--[--><!--]--><main class="main" data-v-e5fa90be><div style="position:relative;" class="vp-doc _demos" data-v-e5fa90be><div><div style="display:none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /demos.md for this page in Markdown format</div><img src="/img/demos/demos.svg" class="product-icon"><h1 id="demos" tabindex="-1">Demos <a class="header-anchor" href="#demos" aria-label="Permalink to &quot;Demos&quot;">​</a></h1><p>Demos and example applications built with ElectricSQL.</p><h2 id="demo-apps" tabindex="-1">Demo apps <a class="header-anchor" href="#demo-apps" aria-label="Permalink to &quot;Demo apps&quot;">​</a></h2><p>These demos showcase the kind of apps and UX you can build with Electric.</p><div class="demos-grid"><!--[--><div class="demo-card" target="_blank"><a href="/demos/burn" class="no-visual"><img src="/img/demos/burn.jpg"></a><div class="demo-description"><a href="/demos/burn" class="no-visual"><h3>Burn</h3></a><p>Agentic system built on Postgres and a real-time sync stack.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://burn.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/electric-sql/electric/tree/main/examples/burn" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/ai-chat" class="no-visual"><img src="/img/demos/ai-chat-demo.png"></a><div class="demo-description"><a href="/demos/ai-chat" class="no-visual"><h3>AI Chat</h3></a><p>Resilient, multi-user, multi-agent AI chat app powered by Electric.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://electric-ai-chat.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/electric-sql/electric-ai-chat" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/territory-wars" class="no-visual"><img src="https://img.youtube.com/vi/r3i25BGom0s/maxresdefault.jpg"></a><div class="demo-description"><a href="/demos/territory-wars" class="no-visual"><h3>Territory Wars</h3></a><p>Multiplayer territory capture game built with Yjs CRDTs on Durable Streams.</p><ul class="actions demo-actions"><li class="feature-cta"><a class='VPButton medium brand' data-v-c160c05e href='/demos/territory-wars/' target='_blank'>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/balegas/territory-wars" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/linearlite" class="no-visual"><img src="/img/demos/linearlite-demo.png"></a><div class="demo-description"><a href="/demos/linearlite" class="no-visual"><h3>Linearlite</h3></a><p>Local-first project management app built with Electric and PGlite.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://linearlite.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/electric-sql/electric/tree/main/examples/linearlite" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/notes" class="no-visual"><img src="/img/demos/notes-demo.png"></a><div class="demo-description"><a href="/demos/notes" class="no-visual"><h3>Notes</h3></a><p>Collaborative note-taking app with sync powered by Electric and Yjs.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://notes.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/KyleAMathews/electric-notes" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/pixel-art" class="no-visual"><img src="/img/demos/pixel-art-demo.png"></a><div class="demo-description"><a href="/demos/pixel-art" class="no-visual"><h3>Pixel art</h3></a><p>Collaborative pixel art editor with real-time multiplayer editing.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://pixel-art.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/KyleAMathews/electricsql-pixel-art" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><!--]--></div><h2 id="technical-examples" tabindex="-1">Technical examples <a class="header-anchor" href="#technical-examples" aria-label="Permalink to &quot;Technical examples&quot;">​</a></h2><p>These are more technical examples demonstrating how to implement certain patterns and integrations. Source code for all of these is in the <a href="https://github.com/electric-sql/electric/tree/main/examples" target="_blank" rel="noreferrer"><code>examples</code> folder</a> on GitHub.</p><!--[--><ul><li><h4><a href="/demos/bash">Bash</a></h4><p style="margin:5px 0;">Example using Electric from a bash script.</p></li></ul><ul><li><h4><a href="/demos/encryption">Encryption</a></h4><p style="margin:5px 0;">Example of how to implement encryption with Electric.</p></li></ul><ul><li><h4><a href="/demos/gatekeeper-auth">Gatekeeper auth</a></h4><p style="margin:5px 0;">Example of the gatekeeper pattern for API-based auth with Electric.</p></li></ul><ul><li><h4><a href="/demos/nextjs">Next.js</a></h4><p style="margin:5px 0;">Example of an Electric app using Next.js.</p></li></ul><ul><li><h4><a href="/demos/phoenix-liveview">Phoenix LiveView</a></h4><p style="margin:5px 0;">Example of a Phoenix LiveView app using Electric.</p></li></ul><ul><li><h4><a href="/demos/proxy-auth">Proxy auth</a></h4><p style="margin:5px 0;">Example showing how to authorize access to Electric using a proxy.</p></li></ul><ul><li><h4><a href="/demos/react">React</a></h4><p style="margin:5px 0;">Basic example of an Electric app using React.</p></li></ul><ul><li><h4><a href="/demos/redis">Redis</a></h4><p style="margin:5px 0;">Example showing how to sync into Redis from Electric.</p></li></ul><ul><li><h4><a href="/demos/remix">Remix</a></h4><p style="margin:5px 0;">Example of an Electric app using Remix.</p></li></ul><ul><li><h4><a href="/demos/tanstack">Tanstack</a></h4><p style="margin:5px 0;">Example of an Electric app using Tanstack Query for optimistic state.</p></li></ul><ul><li><h4><a href="/demos/todo-app">Todo app</a></h4><p style="margin:5px 0;">This is a classic TodoMVC example app, developed using Electric.</p></li></ul><ul><li><h4><a href="/demos/write-patterns">Write patterns</a></h4><p style="margin:5px 0;">Four different patterns for handling writes in an Electric application.</p></li></ul><ul><li><h4><a href="/demos/yjs">Yjs</a></h4><p style="margin:5px 0;">This is an example application using Electric with Yjs.</p></li></ul><!--]--></div></div></main><footer class="VPDocFooter" data-v-e5fa90be data-v-429f87a2><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-429f87a2><span class="visually-hidden" id="doc-footer-aria-label" data-v-429f87a2>Pager</span><div class="pager" data-v-429f87a2><!----></div><div class="pager" data-v-429f87a2><a class="VPLink link pager-link next" href="/demos/burn" data-v-429f87a2><!--[--><span class="desc" data-v-429f87a2>Next page</span><span class="title" data-v-429f87a2>Burn</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"about_community.md\":\"DkXcHrz3\",\"about_contact.md\":\"D1Z0T3B4\",\"about_jobs_founders-associate.md\":\"CEhYG25F\",\"about_jobs_index.md\":\"CnSPlYLa\",\"about_jobs_pglite-engineer.md\":\"DHUex5Pp\",\"about_legal_dpa.md\":\"ZcGbK2iE\",\"about_legal_privacy.md\":\"EzicKNcp\",\"about_legal_subprocessors.md\":\"B1xvDMoL\",\"about_legal_terms.md\":\"CsMQCtRM\",\"about_team.md\":\"CqhEJRcL\",\"blog.md\":\"M434u_2w\",\"blog_2022_05_03_introducing-rich-crdts.md\":\"7NjRLaC6\",\"blog_2022_05_20_relativity-causal-consistency.md\":\"HqljpcFj\",\"blog_2022_12_16_evolution-state-transfer.md\":\"DYNCzQGf\",\"blog_2023_02_02_introducing-jose-kevin-garry.md\":\"BJc9XAJp\",\"blog_2023_02_09_developing-local-first-software.md\":\"B2EAZWVv\",\"blog_2023_05_10_welcome-andrei-oleksii.md\":\"72yrJrJL\",\"blog_2023_09_20_introducing-electricsql-v0.6.md\":\"BRa_ekbr\",\"blog_2023_10_10_welcome-sam.md\":\"DNoahiUK\",\"blog_2023_10_12_linerlite-local-first-with-react.md\":\"Bsmm1dyu\",\"blog_2023_10_26_local-first-software-london-meet-up.md\":\"BCAkrvmj\",\"blog_2023_11_02_electricsql-v0.7-released.md\":\"C_bmtElf\",\"blog_2023_11_02_using-electricsql-with-the-ionic-framework-and-capacitor.md\":\"BTcWisiY\",\"blog_2023_12_13_electricsql-v0.8-released.md\":\"CC61tMfx\",\"blog_2023_12_15_secure-transactions-with-local-first.md\":\"DFozV7SH\",\"blog_2024_01_24_electricsql-v0.9-released.md\":\"CxEw33iE\",\"blog_2024_02_05_local-first-ai-with-tauri-postgres-pgvector-llama.md\":\"A9HECT9g\",\"blog_2024_02_27_intel-ignite.md\":\"fUPMA9v3\",\"blog_2024_04_10_electricsql-v0.10-released.md\":\"DnJQ3LK8\",\"blog_2024_05_14_electricsql-postgres-client-support.md\":\"CqOaPJqA\",\"blog_2024_07_17_electric-next.md\":\"_RKZG4rf\",\"blog_2024_11_21_local-first-with-your-existing-api.md\":\"D8W5XGEd\",\"blog_2024_12_10_electric-beta-release.md\":\"DRpH32aE\",\"blog_2025_03_17_electricsql-1.0-released.md\":\"DPPlz3rb\",\"blog_2025_04_07_electric-cloud-public-beta-release.md\":\"55BuppYh\",\"blog_2025_04_09_building-ai-apps-on-sync.md\":\"DbONQNuW\",\"blog_2025_04_22_untangling-llm-spaghetti.md\":\"ncZ5GvUM\",\"blog_2025_06_05_database-in-the-sandbox.md\":\"ErpbVK-2\",\"blog_2025_07_29_super-fast-apps-on-sync-with-tanstack-db.md\":\"CvDN18st\",\"blog_2025_08_04_reliability-sprint.md\":\"f0h8-Llq\",\"blog_2025_08_12_bringing-agents-back-down-to-earth.md\":\"CkcYm02F\",\"blog_2025_08_13_electricsql-v1.1-released.md\":\"CFAxKqRL\",\"blog_2025_12_09_announcing-durable-streams.md\":\"CdiO0bqx\",\"blog_2025_12_23_durable-streams-0.1.0.md\":\"Lf6RhY4K\",\"blog_2026_01_12_durable-sessions-for-collaborative-ai.md\":\"CVI5ofID\",\"blog_2026_01_20_from-science-fiction-to-reality-you-can-build-difficult-things-now.md\":\"CuZP5nOh\",\"blog_2026_01_22_announcing-hosted-durable-streams.md\":\"B3Y3oc_E\",\"blog_2026_02_02_configurancy.md\":\"DpUs9sfc\",\"blog_2026_02_19_amdahls-law-for-ai-agents.md\":\"CMb1pN2w\",\"blog_2026_03_06_agent-skills-now-shipping.md\":\"Dpbg7Yx8\",\"blog_2026_03_24_durable-transport-ai-sdks.md\":\"Cl_nLur1\",\"blog_2026_03_25_announcing-pglite-v04.md\":\"DsBWo6nK\",\"blog_2026_03_25_tanstack-db-0.6-app-ready-with-persistence-and-includes.md\":\"i_EWRgfz\",\"blog_2026_03_26_stream-db.md\":\"BXs_bVv8\",\"blog_2026_04_02_electric-cloud-pricing.md\":\"CpMRjPVR\",\"blog_2026_04_07_yjs-durable-streams-on-electric-cloud.md\":\"Df6hZ1Gg\",\"blog_2026_04_08_ai-agents-as-crdt-peers-with-yjs.md\":\"CDajS4uv\",\"blog_2026_04_08_data-primitive-agent-loop.md\":\"DvGBDKwC\",\"blog_2026_04_15_fork-branching-for-durable-streams.md\":\"DxsqyFp4\",\"changelog.md\":\"DZFYESSE\",\"cloud_cli.md\":\"CUvgvwLO\",\"cloud_index.md\":\"0orBKMd7\",\"cloud_protocols.md\":\"HAMlVtIi\",\"cloud_usage.md\":\"Djpz8pAq\",\"demos.md\":\"hBaGW3dN\",\"demos_ai-chat.md\":\"BDtx6VWl\",\"demos_bash.md\":\"BxJoJVkK\",\"demos_burn.md\":\"CSSy8y5v\",\"demos_encryption.md\":\"BZVqobb6\",\"demos_gatekeeper-auth.md\":\"BEroW-oR\",\"demos_linearlite.md\":\"CYzN7bhJ\",\"demos_nextjs.md\":\"eUPFPju_\",\"demos_notes.md\":\"C5qomg2f\",\"demos_phoenix-liveview.md\":\"BzVHttzK\",\"demos_pixel-art.md\":\"zzOqrZLf\",\"demos_proxy-auth.md\":\"C2Xp2oc-\",\"demos_react.md\":\"C2oTXSWa\",\"demos_redis.md\":\"D2opU_eh\",\"demos_remix.md\":\"Dq9g4fxL\",\"demos_tanstack.md\":\"DCaSGgvM\",\"demos_territory-wars.md\":\"actbg_jA\",\"demos_todo-app.md\":\"C77C9gxV\",\"demos_write-patterns.md\":\"DQu6XjyP\",\"demos_yjs.md\":\"BVPWaqCJ\",\"docs__tutorial.md\":\"Bt_HyPWt\",\"docs_agents.md\":\"C63HhO4J\",\"docs_api_clients_elixir.md\":\"DRAtKPp1\",\"docs_api_clients_typescript.md\":\"nPr519Co\",\"docs_api_config.md\":\"DM3OBJzK\",\"docs_api_http.md\":\"wkTa9jP7\",\"docs_guides_auth.md\":\"CVn776zf\",\"docs_guides_client-development.md\":\"-TNSorrO\",\"docs_guides_deployment.md\":\"DugB7AGM\",\"docs_guides_installation.md\":\"B73icwuO\",\"docs_guides_postgres-permissions.md\":\"DEXzxXTK\",\"docs_guides_security.md\":\"DH5Q0PCF\",\"docs_guides_shapes.md\":\"DzjuP2by\",\"docs_guides_sharding.md\":\"Ha02ADA2\",\"docs_guides_troubleshooting.md\":\"DIkzotyp\",\"docs_guides_upgrading.md\":\"YTaRTZQw\",\"docs_guides_writes.md\":\"BVIbCpC6\",\"docs_integrations_aws.md\":\"D6LyLp-H\",\"docs_integrations_cloudflare.md\":\"DdSv1LxJ\",\"docs_integrations_crunchy.md\":\"KrOdIsii\",\"docs_integrations_digital-ocean.md\":\"BcvfaTal\",\"docs_integrations_expo.md\":\"CWDj87iR\",\"docs_integrations_fly.md\":\"DJeuYF2U\",\"docs_integrations_gcp.md\":\"CVKnGCZM\",\"docs_integrations_livestore.md\":\"RZhq3Jcc\",\"docs_integrations_mobx.md\":\"L36r-jBK\",\"docs_integrations_neon.md\":\"6W7cZdo5\",\"docs_integrations_netlify.md\":\"Cp9iLNWS\",\"docs_integrations_next.md\":\"ufbxFbsg\",\"docs_integrations_phoenix.md\":\"CmfhCaXr\",\"docs_integrations_planetscale.md\":\"DUDVZa5s\",\"docs_integrations_react.md\":\"DpbsA6XE\",\"docs_integrations_redis.md\":\"BnVPrzHP\",\"docs_integrations_render.md\":\"lFPHnncC\",\"docs_integrations_supabase.md\":\"D4kjA_SY\",\"docs_integrations_tanstack.md\":\"8ugu7-cv\",\"docs_integrations_vercel.md\":\"DtNb724y\",\"docs_integrations_yjs.md\":\"DIGLZnnG\",\"docs_intro.md\":\"B64qt4Jk\",\"docs_llms__intro_redux.md\":\"DuvAB73I\",\"docs_llms__quickstart_redux.md\":\"DWFS2D1M\",\"docs_quickstart.md\":\"UxpUOe89\",\"docs_reference_alternatives.md\":\"GZRICB0Z\",\"docs_reference_benchmarks.md\":\"BRp14-m3\",\"docs_reference_literature.md\":\"BjFJBb1X\",\"docs_reference_telemetry.md\":\"D2_sGRy3\",\"docs_stacks.md\":\"DGoxKnMl\",\"index.md\":\"DRS6PE3J\",\"old-index.md\":\"CYnKgqmw\",\"pricing.md\":\"BOqszaiX\",\"primitives_durable-streams.md\":\"RzQi8zm-\",\"primitives_index.md\":\"hA1Q7gtC\",\"primitives_pglite.md\":\"0alovnwU\",\"primitives_postgres-sync.md\":\"CIboK7Qr\",\"primitives_tanstack-db.md\":\"BWMQYs6W\",\"src_partials_home-cta.md\":\"DNfGgBnS\",\"src_partials_home-features-after.md\":\"CiJU7-Dl\",\"src_partials_home-features-before.md\":\"CsntQbXW\",\"src_partials_home-your-stack-simplified.md\":\"CaeEcvM3\",\"sync.md\":\"0Uo09xE_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en\",\"dir\":\"ltr\",\"title\":\"Electric\",\"description\":\"Electric provides the data primitives and infra to build collaborative, multi-agent systems. Including Postgres Sync, Durable Streams, TanStack DB and PGlite.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"force-dark\",\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/electric-sql/electric/edit/main/website/:path\"},\"logo\":\"/img/brand/logo.svg\",\"nav\":[{\"text\":\"Sync\",\"link\":\"/sync\",\"activeMatch\":\"/sync\"},{\"text\":\"Primitives\",\"link\":\"/primitives\",\"activeMatch\":\"/primitives\"},{\"text\":\"Cloud\",\"link\":\"/cloud\",\"activeMatch\":\"/cloud\"},{\"text\":\"Pricing\",\"link\":\"/pricing\",\"activeMatch\":\"/pricing\"},{\"text\":\"Docs\",\"link\":\"/docs/intro\",\"activeMatch\":\"/docs/\"},{\"text\":\"Demos\",\"link\":\"/demos\",\"activeMatch\":\"/demos\"},{\"text\":\"Blog\",\"link\":\"/blog\",\"activeMatch\":\"/blog\"},{\"text\":\"About\",\"link\":\"/about/community\",\"activeMatch\":\"/about/\"},{\"component\":\"NavSignupButton\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":{\"/primitives\":[{\"text\":\"Primitives\",\"items\":[{\"text\":\"Overview\",\"link\":\"/primitives/\"},{\"text\":\"Postgres Sync\",\"link\":\"/primitives/postgres-sync\"},{\"text\":\"Durable Streams\",\"link\":\"/primitives/durable-streams\"},{\"text\":\"TanStack DB\",\"link\":\"/primitives/tanstack-db\"},{\"text\":\"PGlite\",\"link\":\"/primitives/pglite\"}]}],\"/cloud\":[{\"text\":\"Electric Cloud\",\"items\":[{\"text\":\"Overview\",\"link\":\"/cloud/\"},{\"text\":\"Usage\",\"link\":\"/cloud/usage\"},{\"text\":\"Protocols\",\"link\":\"/cloud/protocols\"},{\"text\":\"Pricing\",\"link\":\"/pricing\"},{\"text\":\"CLI\",\"link\":\"/cloud/cli\"}]}],\"/docs\":[{\"text\":\"Docs\",\"collapsed\":false,\"items\":[{\"text\":\"Intro\",\"link\":\"/docs/intro\"},{\"text\":\"Quickstart\",\"link\":\"/docs/quickstart\"},{\"text\":\"Stacks\",\"link\":\"/docs/stacks\"},{\"text\":\"AGENTS.md\",\"link\":\"/docs/agents\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"Auth\",\"link\":\"/docs/guides/auth\"},{\"text\":\"Shapes\",\"link\":\"/docs/guides/shapes\"},{\"text\":\"Writes\",\"link\":\"/docs/guides/writes\"},{\"text\":\"Installation\",\"link\":\"/docs/guides/installation\"},{\"text\":\"PostgreSQL Permissions\",\"link\":\"/docs/guides/postgres-permissions\"},{\"text\":\"Deployment\",\"link\":\"/docs/guides/deployment\"},{\"text\":\"Upgrading\",\"link\":\"/docs/guides/upgrading\"},{\"text\":\"Sharding\",\"link\":\"/docs/guides/sharding\"},{\"text\":\"Security\",\"link\":\"/docs/guides/security\"},{\"text\":\"Troubleshooting\",\"link\":\"/docs/guides/troubleshooting\"},{\"text\":\"Client development\",\"link\":\"/docs/guides/client-development\"}]},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"HTTP\",\"link\":\"/docs/api/http\"},{\"text\":\"Clients\",\"items\":[{\"text\":\"TypeScript\",\"link\":\"/docs/api/clients/typescript\"},{\"text\":\"Elixir\",\"link\":\"/docs/api/clients/elixir\"}],\"collapsed\":false},{\"text\":\"Config\",\"link\":\"/docs/api/config\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"Frameworks\",\"items\":[{\"text\":\"LiveStore\",\"link\":\"/docs/integrations/livestore\"},{\"text\":\"MobX\",\"link\":\"/docs/integrations/mobx\"},{\"text\":\"Next.js\",\"link\":\"/docs/integrations/next\"},{\"text\":\"Phoenix\",\"link\":\"/docs/integrations/phoenix\"},{\"text\":\"React\",\"link\":\"/docs/integrations/react\"},{\"text\":\"Redis\",\"link\":\"/docs/integrations/redis\"},{\"text\":\"TanStack\",\"link\":\"/docs/integrations/tanstack\"},{\"text\":\"Yjs\",\"link\":\"/docs/integrations/yjs\"}]},{\"text\":\"Platforms\",\"items\":[{\"text\":\"AWS\",\"link\":\"/docs/integrations/aws\"},{\"text\":\"Cloudflare\",\"link\":\"/docs/integrations/cloudflare\"},{\"text\":\"Crunchy\",\"link\":\"/docs/integrations/crunchy\"},{\"text\":\"Digital Ocean\",\"link\":\"/docs/integrations/digital-ocean\"},{\"text\":\"Expo\",\"link\":\"/docs/integrations/expo\"},{\"text\":\"Fly.io\",\"link\":\"/docs/integrations/fly\"},{\"text\":\"GCP\",\"link\":\"/docs/integrations/gcp\"},{\"text\":\"Neon\",\"link\":\"/docs/integrations/neon\"},{\"text\":\"Netlify\",\"link\":\"/docs/integrations/netlify\"},{\"text\":\"PlanetScale\",\"link\":\"/docs/integrations/planetscale\"},{\"text\":\"Render\",\"link\":\"/docs/integrations/render\"},{\"text\":\"Supabase\",\"link\":\"/docs/integrations/supabase\"}]}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Alternatives\",\"link\":\"/docs/reference/alternatives\"},{\"text\":\"Benchmarks\",\"link\":\"/docs/reference/benchmarks\"},{\"text\":\"Literature\",\"link\":\"/docs/reference/literature\"},{\"text\":\"Telemetry\",\"link\":\"/docs/reference/telemetry\"}]}],\"/demos\":[{\"text\":\"Demos\",\"collapsed\":false,\"items\":[{\"text\":\"Burn\",\"link\":\"/demos/burn\"},{\"text\":\"AI Chat\",\"link\":\"/demos/ai-chat\"},{\"text\":\"Territory Wars\",\"link\":\"/demos/territory-wars\"},{\"text\":\"Linearlite\",\"link\":\"/demos/linearlite\"},{\"text\":\"Notes\",\"link\":\"/demos/notes\"},{\"text\":\"Pixel art\",\"link\":\"/demos/pixel-art\"}]},{\"text\":\"Examples\",\"collapsed\":false,\"items\":[{\"text\":\"Bash\",\"link\":\"/demos/bash\"},{\"text\":\"Encryption\",\"link\":\"/demos/encryption\"},{\"text\":\"Gatekeeper auth\",\"link\":\"/demos/gatekeeper-auth\"},{\"text\":\"Next.js\",\"link\":\"/demos/nextjs\"},{\"text\":\"Phoenix LiveView\",\"link\":\"/demos/phoenix-liveview\"},{\"text\":\"Proxy auth\",\"link\":\"/demos/proxy-auth\"},{\"text\":\"React\",\"link\":\"/demos/react\"},{\"text\":\"Redis\",\"link\":\"/demos/redis\"},{\"text\":\"Remix\",\"link\":\"/demos/remix\"},{\"text\":\"Tanstack\",\"link\":\"/demos/tanstack\"},{\"text\":\"Todo app\",\"link\":\"/demos/todo-app\"},{\"text\":\"Write patterns\",\"link\":\"/demos/write-patterns\"},{\"text\":\"Yjs\",\"link\":\"/demos/yjs\"}]}],\"/blog\":[{\"text\":\"Blog\",\"items\":[{\"text\":\"Fork — branching for Durable Streams\",\"link\":\"/blog/2026/04/15/fork-branching-for-durable-streams\"},{\"text\":\"Durable Streams — the data primitive for the agent loop\",\"link\":\"/blog/2026/04/08/data-primitive-agent-loop\"},{\"text\":\"AI agents as CRDT peers — building collaborative AI with Yjs\",\"link\":\"/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs\"},{\"text\":\"Yjs over HTTP on Durable Streams\",\"link\":\"/blog/2026/04/07/yjs-durable-streams-on-electric-cloud\"},{\"text\":\"Electric Cloud pricing is live\",\"link\":\"/blog/2026/04/02/electric-cloud-pricing\"},{\"text\":\"StreamDB — a reactive database in a Durable Stream\",\"link\":\"/blog/2026/03/26/stream-db\"},{\"text\":\"Electric apps get persistence and includes with TanStack DB 0.6\",\"link\":\"/blog/2026/03/25/tanstack-db-0.6-app-ready-with-persistence-and-includes\"},{\"text\":\"Announcing PGlite v0.4: PostGIS, connection multiplexing, and a new architecture\",\"link\":\"/blog/2026/03/25/announcing-pglite-v04\"},{\"text\":\"Durable Transports for your AI SDK\",\"link\":\"/blog/2026/03/24/durable-transport-ai-sdks\"},{\"text\":\"Agent skills now shipping in our npm packages\",\"link\":\"/blog/2026/03/06/agent-skills-now-shipping\"},{\"text\":\"Amdahl's law for AI agents\",\"link\":\"/blog/2026/02/19/amdahls-law-for-ai-agents\"},{\"text\":\"Configurancy: keeping systems intelligible when agents write all the code\",\"link\":\"/blog/2026/02/02/configurancy\"},{\"text\":\"Announcing Hosted Durable Streams\",\"link\":\"/blog/2026/01/22/announcing-hosted-durable-streams\"},{\"text\":\"From fiction to reality, you can now build difficult things\",\"link\":\"/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now\"},{\"text\":\"Durable Sessions — the key pattern for collaborative AI\",\"link\":\"/blog/2026/01/12/durable-sessions-for-collaborative-ai\"},{\"text\":\"Durable Streams 0.1.0 and State Protocol\",\"link\":\"/blog/2025/12/23/durable-streams-0.1.0\"},{\"text\":\"Announcing Durable Streams\",\"link\":\"/blog/2025/12/09/announcing-durable-streams\"},{\"text\":\"Electric 1.1: new storage engine with 100x faster writes\",\"link\":\"/blog/2025/08/13/electricsql-v1.1-released\"},{\"text\":\"Bringing agents back down to earth\",\"link\":\"/blog/2025/08/12/bringing-agents-back-down-to-earth\"},{\"text\":\"120 days of hardening – the post‑1.0 reliability sprint\",\"link\":\"/blog/2025/08/04/reliability-sprint\"},{\"text\":\"Super-fast apps on sync with Electric and TanStack DB\",\"link\":\"/blog/2025/07/29/super-fast-apps-on-sync-with-tanstack-db\"},{\"text\":\"Vibe coding with a database in the sandbox\",\"link\":\"/blog/2025/06/05/database-in-the-sandbox\"},{\"text\":\"Untangling the LLM spaghetti\",\"link\":\"/blog/2025/04/22/untangling-llm-spaghetti\"},{\"text\":\"Building AI apps? You need sync\",\"link\":\"/blog/2025/04/09/building-ai-apps-on-sync\"},{\"text\":\"Electric Cloud public BETA: Sync in 30 seconds\",\"link\":\"/blog/2025/04/07/electric-cloud-public-beta-release\"},{\"text\":\"Electric 1.0 released\",\"link\":\"/blog/2025/03/17/electricsql-1.0-released\"},{\"text\":\"Electric BETA release\",\"link\":\"/blog/2024/12/10/electric-beta-release\"},{\"text\":\"Local-first with your existing API\",\"link\":\"/blog/2024/11/21/local-first-with-your-existing-api\"},{\"text\":\"A new approach to building Electric\",\"link\":\"/blog/2024/07/17/electric-next\"},{\"text\":\"Electric v0.11 released with support for Postgres in the client\",\"link\":\"/blog/2024/05/14/electricsql-postgres-client-support\"},{\"text\":\"Electric v0.10 released with shape filtering\",\"link\":\"/blog/2024/04/10/electricsql-v0.10-released\"},{\"text\":\"Electrify, Ignition, Liftoff!\",\"link\":\"/blog/2024/02/27/intel-ignite\"},{\"text\":\"Local AI with Postgres, pgvector and llama2, inside a Tauri app\",\"link\":\"/blog/2024/02/05/local-first-ai-with-tauri-postgres-pgvector-llama\"},{\"text\":\"ElectricSQL v0.9 released\",\"link\":\"/blog/2024/01/24/electricsql-v0.9-released\"},{\"text\":\"Secure transactions with local-first\",\"link\":\"/blog/2023/12/15/secure-transactions-with-local-first\"},{\"text\":\"ElectricSQL v0.8 released with JSON and Supabase support\",\"link\":\"/blog/2023/12/13/electricsql-v0.8-released\"},{\"text\":\"Use ElectricSQL with the Ionic Framework and Capacitor\",\"link\":\"/blog/2023/11/02/using-electricsql-with-the-ionic-framework-and-capacitor\"},{\"text\":\"ElectricSQL v0.7 released\",\"link\":\"/blog/2023/11/02/electricsql-v0.7-released\"},{\"text\":\"ElectricSQL hosted the first \\\"Local-first Software London\\\" meet-up\",\"link\":\"/blog/2023/10/26/local-first-software-London-meet-up\"},{\"text\":\"Linearlite - A local-first app built with ElectricSQL and React\",\"link\":\"/blog/2023/10/12/linerlite-local-first-with-react\"},{\"text\":\"Welcome Sam Willis!\",\"link\":\"/blog/2023/10/10/welcome-sam\"},{\"text\":\"Local-first sync for Postgres from the inventors of CRDTs\",\"link\":\"/blog/2023/09/20/introducing-electricsql-v0.6\"},{\"text\":\"Welcome Andrei and Oleksii!\",\"link\":\"/blog/2023/05/10/welcome-andrei-oleksii\"},{\"text\":\"Developing local-first software\",\"link\":\"/blog/2023/02/09/developing-local-first-software\"},{\"text\":\"Welcome José, Kevin and Garry!\",\"link\":\"/blog/2023/02/02/introducing-jose-kevin-garry\"},{\"text\":\"The evolution of state transfer\",\"link\":\"/blog/2022/12/16/evolution-state-transfer\"},{\"text\":\"Relativity and causal consistency\",\"link\":\"/blog/2022/05/20/relativity-causal-consistency\"},{\"text\":\"Introducing Rich-CRDTs\",\"link\":\"/blog/2022/05/03/introducing-rich-crdts\"}]}],\"/about\":[{\"text\":\"About\",\"items\":[{\"text\":\"Community\",\"link\":\"/about/community\"},{\"text\":\"Team\",\"link\":\"/about/team\"},{\"text\":\"Jobs\",\"link\":\"/about/jobs\",\"items\":[{\"text\":\"Founders Associate\",\"link\":\"/about/jobs/founders-associate\"}],\"collapsed\":false},{\"text\":\"Legal\",\"items\":[{\"text\":\"Terms\",\"link\":\"/about/legal/terms\"},{\"text\":\"Privacy\",\"link\":\"/about/legal/privacy\"}],\"collapsed\":false},{\"text\":\"Contact\",\"link\":\"/about/contact\"}]}]},\"siteTitle\":false,\"socialLinks\":[{\"icon\":\"durable-streams\",\"link\":\"https://durablestreams.com\"},{\"icon\":\"tanstack\",\"link\":\"https://tanstack.com/db\"},{\"icon\":\"pglite\",\"link\":\"https://pglite.dev\"},{\"icon\":\"x\",\"link\":\"https://x.com/ElectricSQL\"},{\"icon\":\"discord\",\"link\":\"https://discord.electric-sql.com\"},{\"icon\":\"github\",\"link\":\"https://github.com/electric-sql/electric\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
    
  </body>
</html>