<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Blog | Electric</title>
    <meta name="description" content="The latest news and updates from 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/BlogPostListing.vue_vue_type_style_index_0_scoped_936a5719_lang.De113F0d.js">
    <link rel="modulepreload" href="/assets/chunks/BlogPostListing.DvyY1mnB.js">
    <link rel="modulepreload" href="/assets/blog.md.M434u_2w.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="Blog | ElectricSQL">
    <meta name="twitter:description" content="The latest news and updates from ElectricSQL.">
    <meta name="twitter:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fstatic%2Fimg%2Fblog%2Felectric-elephant.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
    <meta property="og:title" content="Blog | ElectricSQL">
    <meta property="og:description" content="The latest news and updates from ElectricSQL.">
    <meta property="og:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fstatic%2Fimg%2Fblog%2Felectric-elephant.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
  </head>
  <body>
    <div id="app"><div class="Layout nav-relative" 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" 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" href="/demos" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Demos</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" 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 empty fixed" data-v-a29e6ba2 data-v-c84339ae><div class="container" data-v-c84339ae><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-c84339ae data-v-91cce16e><button data-v-91cce16e>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-a29e6ba2 data-v-93396c71><div class="VPPage" data-v-93396c71><!--[--><!--]--><div style="position:relative;"><div data-v-9ffa1769><div class="vp-doc" data-v-9ffa1769><div class="container" data-v-9ffa1769><main data-v-9ffa1769><div class="header" data-v-9ffa1769><img src="/.netlify/images?url=%2Fassets%2Felectric-elephant.B5fcLaxy.jpg&amp;w=720" srcset="/.netlify/images?url=%2Fassets%2Felectric-elephant.B5fcLaxy.jpg&amp;w=320 320w, /.netlify/images?url=%2Fassets%2Felectric-elephant.B5fcLaxy.jpg&amp;w=640 640w, /.netlify/images?url=%2Fassets%2Felectric-elephant.B5fcLaxy.jpg&amp;w=960 960w, /.netlify/images?url=%2Fassets%2Felectric-elephant.B5fcLaxy.jpg&amp;w=1280 1280w" sizes="(max-width: 720px) 100vw, 720px" width="720" height="440" alt loading="lazy" decoding="async" data-v-9ffa1769><h1 data-v-9ffa1769> ElectricSQL Blog </h1><p data-v-9ffa1769> The latest news and updates from the ElectricSQL project. </p><div class="actions cta-actions" data-v-9ffa1769><div class="action hidden-sm" data-v-9ffa1769><a class="VPButton medium brand" href="https://discord.electric-sql.com" target="_blank" rel="noreferrer" data-v-9ffa1769 data-v-c160c05e>Join the Community</a></div><div class="action inline-sm" data-v-9ffa1769><a class="VPButton medium brand" href="https://discord.electric-sql.com" target="_blank" rel="noreferrer" data-v-9ffa1769 data-v-c160c05e>Community</a></div><div class="action hidden-sm" data-v-9ffa1769><a class="VPButton medium alt" href="https://github.com/electric-sql/electric" target="_blank" rel="noreferrer" data-v-9ffa1769 data-v-c160c05e>Star on GitHub</a></div><div class="action inline-sm" data-v-9ffa1769><a class="VPButton medium alt" href="https://github.com/electric-sql/electric" target="_blank" rel="noreferrer" data-v-9ffa1769 data-v-c160c05e>GitHub</a></div></div><hr data-v-9ffa1769></div><div class="listing" data-v-9ffa1769><!--[--><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/04/15/fork-branching-for-durable-streams" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Ffork-branching-for-durable-streams%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Ffork-branching-for-durable-streams%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Ffork-branching-for-durable-streams%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Ffork-branching-for-durable-streams%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Ffork-branching-for-durable-streams%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Fork — branching for Durable Streams</h3><p class="post-author" data-v-936a5719><img src="/img/team/valter.jpg" data-v-936a5719><span data-v-936a5719>Valter Balegas</span></p><p data-v-936a5719>Fork adds branching to Durable Streams. Branch any stream at any point — rewind history, fan out agents, or probe without polluting context.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/04/08/data-primitive-agent-loop" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fdata-primitive-agent-loop%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fdata-primitive-agent-loop%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fdata-primitive-agent-loop%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fdata-primitive-agent-loop%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fdata-primitive-agent-loop%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Durable Streams — the data primitive for the agent loop</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Agents are stateful. The agent loop accumulates a new kind of data that needs a new kind of primitive. Durable Streams is that primitive.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-a-collaborative-ai-editor%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-a-collaborative-ai-editor%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-a-collaborative-ai-editor%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-a-collaborative-ai-editor%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-a-collaborative-ai-editor%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>AI agents as CRDT peers — building collaborative AI with Yjs</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>What if an AI agent could be a real-time CRDT peer? Where the agent has its own cursor, streams edits into a live Yjs document, and the whole thing runs on Durable Streams.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/04/07/yjs-durable-streams-on-electric-cloud" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fyjs-durable-streams-on-electric-cloud%2Fheader.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fyjs-durable-streams-on-electric-cloud%2Fheader.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fyjs-durable-streams-on-electric-cloud%2Fheader.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fyjs-durable-streams-on-electric-cloud%2Fheader.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fyjs-durable-streams-on-electric-cloud%2Fheader.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Yjs over HTTP on Durable Streams</h3><p class="post-author" data-v-936a5719><img src="/img/team/valter.jpg" data-v-936a5719><span data-v-936a5719>Valter Balegas</span></p><p data-v-936a5719>We've released a new Yjs provider built on Durable Streams — sync fan-out and fast catch-up from the edge for collaborative and agentic systems. Now live on Electric Cloud.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/04/02/electric-cloud-pricing" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-pricing%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-pricing%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-pricing%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-pricing%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-pricing%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric Cloud pricing is live</h3><p class="post-author" data-v-936a5719><img src="/img/team/valter.jpg" data-v-936a5719><span data-v-936a5719>Valter Balegas</span></p><p data-v-936a5719>Electric Cloud now has self-serve pricing. Pay for writes and retention — reads and data delivery are free. Most simple apps will run for free on PAYG.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/03/26/stream-db" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fstream-db%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fstream-db%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fstream-db%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fstream-db%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fstream-db%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>StreamDB — a reactive database in a Durable Stream</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>StreamDB turns a Durable Stream into a reactive database. You provide a Standard Schema, StreamDB gives you type‑safe, durable state with sync.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/03/25/tanstack-db-0.6-app-ready-with-persistence-and-includes" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Ftanstack-db-0.6-app-ready-with-persistence-and-includes%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Ftanstack-db-0.6-app-ready-with-persistence-and-includes%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Ftanstack-db-0.6-app-ready-with-persistence-and-includes%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Ftanstack-db-0.6-app-ready-with-persistence-and-includes%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Ftanstack-db-0.6-app-ready-with-persistence-and-includes%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric apps get persistence and includes with TanStack DB 0.6</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>TanStack DB 0.6 is a major update for Electric users. Persistence and includes make the Electric + TanStack DB stack more app-ready while staying incrementally adoptable.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/03/25/announcing-pglite-v04" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-pglite-v04%2Fhero.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-pglite-v04%2Fhero.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-pglite-v04%2Fhero.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-pglite-v04%2Fhero.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-pglite-v04%2Fhero.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Announcing PGlite v0.4: PostGIS, connection multiplexing, and a new architecture</h3><p class="post-author" data-v-936a5719><img src="/img/team/tudor.jpg" data-v-936a5719><span data-v-936a5719>Tudor Zaharia</span></p><p data-v-936a5719>PGlite v0.4 ships PostGIS, connection multiplexing, and a major architecture refactor. This post covers what changed and what comes next for embedded Postgres.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/03/24/durable-transport-ai-sdks" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-transport-ai-sdks%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-transport-ai-sdks%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-transport-ai-sdks%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-transport-ai-sdks%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-transport-ai-sdks%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Durable Transports for your AI SDK</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>We've released Durable Streams based transport and session integrations for TanStack AI and the Vercel AI SDK. With turnkey hosting on Electric Cloud.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/03/06/agent-skills-now-shipping" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fagent-skills-now-shipping%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fagent-skills-now-shipping%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fagent-skills-now-shipping%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fagent-skills-now-shipping%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fagent-skills-now-shipping%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Agent skills now shipping in our npm packages</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>We've been collaborating with TanStack to ship agent skills in our npm packages. Run one command to give your agent deep knowledge of Electric, TanStack DB and Durable Streams.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/02/19/amdahls-law-for-ai-agents" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Famdahls-law-for-ai-agents%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Famdahls-law-for-ai-agents%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Famdahls-law-for-ai-agents%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Famdahls-law-for-ai-agents%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Famdahls-law-for-ai-agents%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Amdahl&#39;s law for AI agents</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>Multi-agent systems are delivering real throughput gains — but the teams seeing the biggest speedups share a pattern. A law from 1967 explains why.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/02/02/configurancy" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fconfigurancy%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fconfigurancy%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fconfigurancy%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fconfigurancy%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fconfigurancy%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Configurancy: keeping systems intelligible when agents write all the code</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>AI makes code cheap. The scarce asset is the system's self-knowledge. Configurancy is the layer that lets agents coherently co-evolve a system.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/01/22/announcing-hosted-durable-streams" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-hosted-durable-streams%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-hosted-durable-streams%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-hosted-durable-streams%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-hosted-durable-streams%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-hosted-durable-streams%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Announcing Hosted Durable Streams</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>Hosted durable streams are live on Electric Cloud. You can now sync and stream AI sessions and low-latency real-time data alongside structured database changes.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Ffrom-science-fiction-to-reality-you-can-build-difficult-things-now%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Ffrom-science-fiction-to-reality-you-can-build-difficult-things-now%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Ffrom-science-fiction-to-reality-you-can-build-difficult-things-now%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Ffrom-science-fiction-to-reality-you-can-build-difficult-things-now%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Ffrom-science-fiction-to-reality-you-can-build-difficult-things-now%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>From fiction to reality, you can now build difficult things</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Four years ago, building a collaborative parametric CAD app was completely out of reach for a solo developer. I built one in a week, using the Electric stack and coding agents.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2026/01/12/durable-sessions-for-collaborative-ai" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-sessions-for-collaborative-ai%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-sessions-for-collaborative-ai%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-sessions-for-collaborative-ai%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-sessions-for-collaborative-ai%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-sessions-for-collaborative-ai%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Durable Sessions — the key pattern for collaborative AI</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>As the world moves to getting things done through agents, products need to combine AI with team-based collaboration. Durable Sessions are the best way to do that.
</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/12/23/durable-streams-0.1.0" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-streams-0.1.0%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fdurable-streams-0.1.0%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-streams-0.1.0%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-streams-0.1.0%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fdurable-streams-0.1.0%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Durable Streams 0.1.0 and State Protocol</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>The first official npm release of Durable Streams, introducing the State Protocol for database-style sync semantics, improved conformance tests and community experiments.
</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/12/09/announcing-durable-streams" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-durable-streams%2Fhero.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-durable-streams%2Fhero.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-durable-streams%2Fhero.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-durable-streams%2Fhero.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fannouncing-durable-streams%2Fhero.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Announcing Durable Streams</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>Introducing Durable Streams, an open protocol for persistent, addressable, real-time streams, based on a generalization of the battle-tested Electric sync protocol.
</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/08/13/electricsql-v1.1-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.1-released%2Fheader.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.1-released%2Fheader.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.1-released%2Fheader.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.1-released%2Fheader.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.1-released%2Fheader.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric 1.1: new storage engine with 100x faster writes</h3><p class="post-author" data-v-936a5719><img src="/img/team/ilia.jpg" data-v-936a5719><span data-v-936a5719>Ilia Borovitinov</span></p><p data-v-936a5719>A behind‑the‑scenes look at Electric's new storage engine: why we built it, how it works, and how it improves performance in production.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/08/12/bringing-agents-back-down-to-earth" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fbringing-agents-back-down-to-earth%2Fheader2.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fbringing-agents-back-down-to-earth%2Fheader2.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fbringing-agents-back-down-to-earth%2Fheader2.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fbringing-agents-back-down-to-earth%2Fheader2.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fbringing-agents-back-down-to-earth%2Fheader2.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Bringing agents back down to earth</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Agentic AI, beneath all the hype, is actually just normal software. You can build agentic systems with a database, standard web tooling and real-time sync.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/08/04/reliability-sprint" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Freliability-sprint%2Fheader.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Freliability-sprint%2Fheader.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Freliability-sprint%2Fheader.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Freliability-sprint%2Fheader.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Freliability-sprint%2Fheader.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>120 days of hardening – the post‑1.0 reliability sprint</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>Our last quarter was a reliability sprint. We set one goal: make ElectricSQL so boring‑reliable that you stop thinking about it and just build.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/07/29/super-fast-apps-on-sync-with-tanstack-db" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-sync-with-tanstack-db%2Fheader2.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-sync-with-tanstack-db%2Fheader2.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-sync-with-tanstack-db%2Fheader2.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-sync-with-tanstack-db%2Fheader2.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-sync-with-tanstack-db%2Fheader2.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Super-fast apps on sync with Electric and TanStack DB</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Tanstack DB is a reactive client store for building super fast apps on sync. Paired with Electric, it provides an optimal end-to-end sync stack for local-first app development.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/06/05/database-in-the-sandbox" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fdatabase-in-the-sandbox%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fdatabase-in-the-sandbox%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fdatabase-in-the-sandbox%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fdatabase-in-the-sandbox%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fdatabase-in-the-sandbox%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Vibe coding with a database in the sandbox</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>More play less infra. With PGlite you can vibe code with a database built into the sandbox.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/04/22/untangling-llm-spaghetti" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Funtangling-llm-spaghetti%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Funtangling-llm-spaghetti%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Funtangling-llm-spaghetti%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Funtangling-llm-spaghetti%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Funtangling-llm-spaghetti%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Untangling the LLM spaghetti</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>LLMs are generating code. That code is imperatively fetching data. That leads to a big ball of spaghetti.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/04/09/building-ai-apps-on-sync" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-ai-apps-on-sync%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-ai-apps-on-sync%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-ai-apps-on-sync%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-ai-apps-on-sync%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fbuilding-ai-apps-on-sync%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Building AI apps? You need sync</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>AI apps are collaborative. Building them requires solving resumability, interruptibility, multi‑tab, multi‑device and multi‑user.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/04/07/electric-cloud-public-beta-release" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-public-beta-release%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-public-beta-release%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-public-beta-release%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-public-beta-release%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-cloud-public-beta-release%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric Cloud public BETA: Sync in 30 seconds</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>Electric Cloud is now in public BETA! This means it's open to everyone for immediate access.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2025/03/17/electricsql-1.0-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.0-released%2Fheader2.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.0-released%2Fheader2.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.0-released%2Fheader2.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.0-released%2Fheader2.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-1.0-released%2Fheader2.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric 1.0 released</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>With version 1.0 Electric is now in GA. The APIs are stable and the sync engine is ready for mission critical, production apps.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/12/10/electric-beta-release" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-beta-release%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-beta-release%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-beta-release%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-beta-release%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-beta-release%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric BETA release</h3><p class="post-author" data-v-936a5719><img src="/img/team/kyle.jpg" data-v-936a5719><span data-v-936a5719>Kyle Mathews</span></p><p data-v-936a5719>With version 1.0.0-beta.1, the Electric sync engine is now in BETA! If you haven't checked out Electric recently, it's a great time to take another look.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/11/21/local-first-with-your-existing-api" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-with-your-existing-api%2Fhumble-toaster.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-with-your-existing-api%2Fhumble-toaster.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-with-your-existing-api%2Fhumble-toaster.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-with-your-existing-api%2Fhumble-toaster.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-with-your-existing-api%2Fhumble-toaster.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Local-first with your existing API</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Local-first is often seen as eliminating your API. But what if you like your API or need to keep it as part of your stack? This post shows how you can develop local-first apps incrementally, using your existing API.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/07/17/electric-next" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-next%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-next%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-next%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-next%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-next%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>A new approach to building Electric</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Electric Next is a new approach that we've adopted to building Electric. One that's informed by the lessons learned building the previous system and inspired by new insight from Kyle Mathews.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/05/14/electricsql-postgres-client-support" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-released-with-postgres-support%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectric-released-with-postgres-support%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-released-with-postgres-support%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-released-with-postgres-support%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectric-released-with-postgres-support%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric v0.11 released with support for Postgres in the client</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Version 0.11 of ElectricSQL. This is the first release with support for syncing to Postgres in the client.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/04/10/electricsql-v0.10-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electric v0.10 released with shape filtering</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>We've published version 0.10 of Electric. This is the first release that properly supports where-clause and include-tree filtering with Shape-based sync.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/02/27/intel-ignite" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintel-ignite%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintel-ignite%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintel-ignite%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintel-ignite%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintel-ignite%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Electrify, Ignition, Liftoff!</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>ElectricSQL was selected by Intel as one of 10 startups to participate in batch #6 of it's Intel Ignite accelerator programme in Munich.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/02/05/local-first-ai-with-tauri-postgres-pgvector-llama" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-ai-with-tauri-postgres-pgvector-llama%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-ai-with-tauri-postgres-pgvector-llama%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-ai-with-tauri-postgres-pgvector-llama%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-ai-with-tauri-postgres-pgvector-llama%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-ai-with-tauri-postgres-pgvector-llama%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Local AI with Postgres, pgvector and llama2, inside a Tauri app</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Local AI with Postgres, pgvector and llama2, running inside a Tauri app with realtime sync powered by ElectricSQL 🤯 This is the architecture of the future!</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2024/01/24/electricsql-v0.9-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>ElectricSQL v0.9 released</h3><p class="post-author" data-v-936a5719><img src="/img/team/oleksii.jpg" data-v-936a5719><span data-v-936a5719>Oleksii Sholik</span></p><p data-v-936a5719>We're kicking off the year with a fresh release of Electric that introduces a whole slew of improvements to the experience of configuring, deploying, and developing with Electric.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/12/15/secure-transactions-with-local-first" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fsecure-transactions-with-local-first%2Fheader.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fsecure-transactions-with-local-first%2Fheader.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fsecure-transactions-with-local-first%2Fheader.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fsecure-transactions-with-local-first%2Fheader.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fsecure-transactions-with-local-first%2Fheader.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Secure transactions with local-first</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>One of the most common questions we get asked about developing on ElectricSQL is how to do secure, confirmed transactions like bookings and payments.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/12/13/electricsql-v0.8-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Felectricsql-v0.8-released%2FElectric%2BSupabase.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Felectricsql-v0.8-released%2FElectric%2BSupabase.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Felectricsql-v0.8-released%2FElectric%2BSupabase.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Felectricsql-v0.8-released%2FElectric%2BSupabase.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Felectricsql-v0.8-released%2FElectric%2BSupabase.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>ElectricSQL v0.8 released with JSON and Supabase support</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Improved data model and deployment compatibility including JSON support and integration with popular Postgres hosts like Supabase and Digital Ocean.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/11/02/using-electricsql-with-the-ionic-framework-and-capacitor" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fusing-electricsql-with-the-ionic-framework-and-capacitor%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fusing-electricsql-with-the-ionic-framework-and-capacitor%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fusing-electricsql-with-the-ionic-framework-and-capacitor%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fusing-electricsql-with-the-ionic-framework-and-capacitor%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fusing-electricsql-with-the-ionic-framework-and-capacitor%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Use ElectricSQL with the Ionic Framework and Capacitor</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Introducing Electric Appointments, a demo mobile app built with the Ionic Framework and Capacitor.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/11/02/electricsql-v0.7-released" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>ElectricSQL v0.7 released</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>We're thrilled to have published version 0.7 of ElectricSQL, which includes the new migration proxy and extended type support.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/10/26/local-first-software-London-meet-up" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-software-London-meet-up%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-software-London-meet-up%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-software-London-meet-up%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-software-London-meet-up%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Flocal-first-software-London-meet-up%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>ElectricSQL hosted the first &quot;Local-first Software London&quot; meet-up</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Last Thursday, the Electric team was excited to host the first Local-first Software London meet-up.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/10/12/linerlite-local-first-with-react" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Flinerlite-local-first-with-react%2Fheader.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Flinerlite-local-first-with-react%2Fheader.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Flinerlite-local-first-with-react%2Fheader.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Flinerlite-local-first-with-react%2Fheader.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Flinerlite-local-first-with-react%2Fheader.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Linearlite - A local-first app built with ElectricSQL and React</h3><p class="post-author" data-v-936a5719><img src="/img/team/sam.jpg" data-v-936a5719><span data-v-936a5719>Sam Willis</span></p><p data-v-936a5719>Introducing Linearlite, a simplified, lightweight clone of Linear.app built with Electric.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/10/10/welcome-sam" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-sam%2Flisting.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-sam%2Flisting.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-sam%2Flisting.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-sam%2Flisting.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-sam%2Flisting.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Welcome Sam Willis!</h3><p class="post-author" data-v-936a5719><img src="/img/team/purva.jpg" data-v-936a5719><span data-v-936a5719>Purva Gujar</span></p><p data-v-936a5719>Sam Willis has joined the team as a Founding Engineer.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/09/20/introducing-electricsql-v0.6" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Fimage.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Local-first sync for Postgres from the inventors of CRDTs</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Introducing the v0.6 release of ElectricSQL. A local-first sync layer that you can use to build reactive, realtime, offline-capable apps directly on Postgres.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/05/10/welcome-andrei-oleksii" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-andrei-oleksii%2Flisting.jpg&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-andrei-oleksii%2Flisting.jpg&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-andrei-oleksii%2Flisting.jpg&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-andrei-oleksii%2Flisting.jpg&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fwelcome-andrei-oleksii%2Flisting.jpg&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Welcome Andrei and Oleksii!</h3><p class="post-author" data-v-936a5719><img src="/img/team/purva.jpg" data-v-936a5719><span data-v-936a5719>Purva Gujar</span></p><p data-v-936a5719>Electric is now backed by Andrei Miulescu and Oleksii Sholik has joined us as a Founding Engineer.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/02/09/developing-local-first-software" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Flisting.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Flisting.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Flisting.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Flisting.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-electric-sql%2Flisting.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Developing local-first software</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Local-first software is the natural evolution of state-transfer. It enables a modern, realtime multi-user experience, with built in offline support, resilience, privacy and data ownership.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2023/02/02/introducing-jose-kevin-garry" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-jose-kevin-garry%2Flisting.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-jose-kevin-garry%2Flisting.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-jose-kevin-garry%2Flisting.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-jose-kevin-garry%2Flisting.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-jose-kevin-garry%2Flisting.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Welcome José, Kevin and Garry!</h3><p class="post-author" data-v-936a5719><img src="/img/team/purva.jpg" data-v-936a5719><span data-v-936a5719>Purva Gujar</span></p><p data-v-936a5719>José Valim, the creator of Elixir, distributed systems expert Kevin De Porre and startup engineering veteran Garry Hill have joined Electric.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2022/12/16/evolution-state-transfer" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fevolution-state-transfer%2Flisting.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fevolution-state-transfer%2Flisting.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fevolution-state-transfer%2Flisting.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fevolution-state-transfer%2Flisting.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fevolution-state-transfer%2Flisting.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>The evolution of state transfer</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>Web development has been progressing through an evolution of state transfer. Local-first is the natural endgame and the vision we're working towards with Electric.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2022/05/20/relativity-causal-consistency" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Frelativity-causal-consistency%2Flisting.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Frelativity-causal-consistency%2Flisting.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Frelativity-causal-consistency%2Flisting.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Frelativity-causal-consistency%2Flisting.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Frelativity-causal-consistency%2Flisting.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Relativity and causal consistency</h3><p class="post-author" data-v-936a5719><img src="/img/team/james2.jpg" data-v-936a5719><span data-v-936a5719>James Arthur</span></p><p data-v-936a5719>In this post we explore the assumptions that distributed databases are based on and investigate how causal consistency fits the reality of a relativistic universe.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><div class="post" data-v-9ffa1769 data-v-936a5719><a href="/blog/2022/05/03/introducing-rich-crdts" class="no-visual" data-v-936a5719><div class="post-image" data-v-936a5719><img src="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-rich-crdts%2Flisting.png&amp;w=896" srcset="/.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-rich-crdts%2Flisting.png&amp;w=320 320w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-rich-crdts%2Flisting.png&amp;w=640 640w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-rich-crdts%2Flisting.png&amp;w=960 960w, /.netlify/images?url=%2Fimg%2Fblog%2Fintroducing-rich-crdts%2Flisting.png&amp;w=1280 1280w" sizes="(max-width: 896px) 100vw, 896px" width="896" height="488" alt loading="lazy" decoding="async" data-v-936a5719></div><div class="post-body" data-v-936a5719><h3 data-v-936a5719>Introducing Rich-CRDTs</h3><p class="post-author" data-v-936a5719><img src="/img/team/valter.jpg" data-v-936a5719><span data-v-936a5719>Valter Balegas</span></p><p data-v-936a5719>Rich-CRDTs are conflict-free data types (“CRDTs”) extended to provide additional (“Rich”) database guarantees. These guarantees, such as constraints and referential integrity, make building local-first applications much simpler.</p></div><div class="post-footer" data-v-936a5719>Read post →</div></a></div><!--]--></div></main></div></div></div></div><!--[--><!--]--></div></div><!----><!--[--><footer class="VPFooter" data-v-c22216f4><div class="container" data-v-c22216f4><p class="footer-logo" data-v-c22216f4><img src="/img/brand/logo.svg" data-v-c22216f4></p><p class="footer-nav message" data-v-c22216f4><span class="footer-nav-inner" data-v-c22216f4><span class="no-wrap" data-v-c22216f4><a href="/about/community" data-v-c22216f4> About</a><a href="/about/contact" data-v-c22216f4> Contact</a><a href="/about/legal/terms" data-v-c22216f4> Legal</a><a href="/docs/intro" data-v-c22216f4> Docs</a></span><span class="no-wrap" data-v-c22216f4><a href="/demos" data-v-c22216f4> Demos</a><a href="/blog" data-v-c22216f4> Blog</a><a href="https://dashboard.electric-sql.cloud/" data-v-c22216f4> Sign up</a></span></span><span class="footer-nav-inner" data-v-c22216f4><span class="no-wrap" data-v-c22216f4><a href="https://tanstack.com/db" data-v-c22216f4><span class="vpi-social-tanstack" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>TanStack DB</span></a><a href="https://pglite.dev" data-v-c22216f4><span class="vpi-social-pglite" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>PGlite</span></a><a href="https://x.com/ElectricSQL" data-v-c22216f4><span class="vpi-social-x" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>X</span></a></span><span class="no-wrap" data-v-c22216f4><a href="https://bsky.app/profile/electric-sql.com" data-v-c22216f4><span class="vpi-social-bluesky" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>Bluesky</span></a><a href="https://discord.electric-sql.com" data-v-c22216f4><span class="vpi-social-discord" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>Discord</span></a><a href="https://github.com/electric-sql" data-v-c22216f4><span class="vpi-social-github" data-v-c22216f4></span><span class="social-name" data-v-c22216f4>GitHub</span></a></span></span></p><p class="copyright" data-v-c22216f4> Released under the <a href="https://github.com/electric-sql/electric/blob/main/LICENSE" target="_blank" data-v-c22216f4> Apache 2.0</a> License. <span class="no-wrap" data-v-c22216f4> © 2026 Electric DB Inc. </span></p></div></footer><!--]--></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>