ElectricSQL

Data

sync layer

SHOW HN2023

Legend

ElectricSQL

ElectricSQL, Postgres to SQLite active-active sync for local-first apps

electric-sql.com

#postgres#sqlite#local-first#crdt#offline sync

617points
170comments
#35of 3,109 in 2023
Top 2%of 2023 by points

How HN took it

CuriousMostly questions and neutral comments

30 positive, 87 neutral or asking, 2 mixed, 6 critical, out of 125 comments about the project. Thread score +0.27.

Idea: 16 for, 1 againstExecution: 2 for, 1 againstDesign: 0 for, 2 againstPerformance: 1 for, 1 againstPrivacy: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Excellent sync concept for local-first apps

    From 3 comments
    • Huge congrats to the team. I reached out to them four or five months ago as we explored offline-first frameworks, and its awesome to see how far they've come in a short time. We…
      obeavs on HN
    • Congratulations to James and the team! I reached out to James when they were searching for early adopters for their V2 version, which focuses on PostgreSQL. Our primary business…
      thanikkal on HN
    • I am fully on the offline-first bandwagon after starting to use cr-sqlite (https://vlcn.io), which works similar to ElectricSQL. I thought the bundle size of wasm-sqlite would be…
      mjadobson on HN
  • Long-awaited pattern for offline-first apps

    From 2 comments
    • Wow, this is awesome! I've been "waiting" for a project like this for years - having to roll out my own syncing solution for my local-first app until now. I have yet to dive…
      vekker on HN
    • Oh wow, I’ve been wanting this for a long time, to the point that I started making it myself. This is perfect to create super fast offline first apps like linear.app, with Postgres
      crubier on HN

Objections

  • Permissions not yet implemented, so users may sync others' data

    From 1 comment
    • Wow, this is awesome! I've been "waiting" for a project like this for years - having to roll out my own syncing solution for my local-first app until now. I have yet to dive…
      vekker on HN
  • Client bundle size of about 1-2MB WASM SQLite

    From 2 comments
    • EletricSQL is very cool, congratulations and thanks for the work! I was thinking about using it for an app that I'm developing but decided to not ship a 2mb binary to every user.…
      meiraleal on HN
    • I just looked at the size of Sqlite in the browser as sql.js compared to WASM Sqlite in the broswer. sql.js seems to be over 2MB and WASM sqlite in just 900k, is that right? If…
      zubairq on HN

Requests

  • Native Swift and Kotlin clients

    From 2 comments
    • Congrats. How does this deal with schema changes? We have a solution where old clients can store objects that have new fields unknown to the client. Then when the clients updates…
      TeeWEE on HN
    • Will be keeping an eye on this. Are there plans for Swift/Kotlin clients for native iOS/Android apps?
      jwells89 on HN
  • Client-side encryption support

    From 2 comments
    • I saw this recently and I am really excited for, hopefully, a renaissance in local-first apps; it's been quite a long time coming. That said, it seems like there's still a lot of…
      jchw on HN
    • Wow, this is awesome! I've been "waiting" for a project like this for years - having to roll out my own syncing solution for my local-first app until now. I have yet to dive…
      vekker on HN
  • Partial sync of working set

    From 2 comments
    • Congrats. How does this deal with schema changes? We have a solution where old clients can store objects that have new fields unknown to the client. Then when the clients updates…
      TeeWEE on HN
    • Does it support partial sync ?
      iamgopal on HN

Questions

  • How validation and authorization of client writes works

    From 1 comment
    • Is there any validation or authorization for changes being merged back into the root database? In a traditional client / server model, the server has an opportunity to validate…
      koolba on HN
  • Dataset size limits

    From 1 comment
    • Can you talk about the dataset sizes you support? Your example linear app has 112 rows, could you support 1000? 10K? 100k? 1M?
      alooPotato on HN
  • How schema changes are handled

    From 2 comments
    • Congrats. How does this deal with schema changes? We have a solution where old clients can store objects that have new fields unknown to the client. Then when the clients updates…
      TeeWEE on HN
    • Congrats to the team. I think it is particularly impressive (and a bit scary) that DDL changes are also synchronized to the clients automatically!
      pdhborges on HN

Alternatives named

  • PowerSync

    From 1 comment
    • Congrats to the team. I'm on the team over at https://powersync.co and have been following this space for a while. PowerSync is also a plug-in sync layer. The biggest difference…
      rococosbasilisk on HN
  • cr-sqlite

    From 1 comment
    • I am fully on the offline-first bandwagon after starting to use cr-sqlite (https://vlcn.io), which works similar to ElectricSQL. I thought the bundle size of wasm-sqlite would be…
      mjadobson on HN
  • PouchDB with CouchDB

    From 1 comment
    • Awesome! I'm looking forward to trying this out. Currently I get this functionality by using PouchDB on the client with a CouchDB sever. Then on my API server I have some janky…
      pgm8705 on HN
  • RxDB

    From 1 comment
    • Congrats to the team. I’ve tried https://rxdb.info/ and it wasn’t funny at all to do the remote replication (PG) and to deal with conflicts. I do need to check this one out!
      adrianotadao on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/37584049)