frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Syncular – offline-first SQL sync with TypeScript and Rust cores

https://github.com/syncular/syncular
19•quambo•1h ago

Comments

quambo•1h ago
Hi HN! I’ve been circling this problem for a long time.

In 2019 I built an offline-first datastore called debe. It used CRDTs and multi-master replication and never became something I could confidently ship. It did teach me that convergence is only a small part of sync. The difficult parts are durable writes, authorization changes, lost acknowledgements, schema upgrades, bounded bootstrap, and explaining what happened after something fails.

I eventually came back to the problem and built Syncular over the last year.

Every client has a real SQLite database: sqlite-wasm on OPFS in the browser and native SQLite elsewhere. Writes apply locally and enter a durable outbox in the same transaction. A server-authoritative commit log validates and orders them, using explicit scopes resolved inside the application backend.

The protocol is written down independently of the implementations. SSP2 is currently a draft, with canonical binary encoding and golden byte vectors. There are independent TypeScript and Rust client cores, both run against the same 95-scenario conformance catalog. The Rust core is exposed through Swift, Kotlin, Flutter, React Native, Tauri, Rust, and a small C API.

It also includes realtime WebSocket sync, resumable bootstrap segments, explicit conflict evidence, authorization revocation and local purge, windowed replicas, blobs, optional CRDT columns, per-column encryption, and typesafe generated queries for five languages. Important boundaries: it is pre-1.0, self-hosted, and there is no managed service or peer-to-peer mode. Native packaging maturity still varies by ecosystem.

Let me know what you think, I'm happy about feedback!

Demo: https://demo.syncular.dev Protocol: https://github.com/syncular/syncular/blob/main/docs/SPEC.md Background: https://syncular.dev/blog/offline-first-writes/ Docs: https://syncular.dev/

earthnail•15m ago
There was a local-first conv just a few weeks ago in Berlin; if you're not yet part of that community I suggest reaching out. https://www.localfirst.fm/ for example, or https://lofi.so/
kello•1h ago
This is cool. Reminds of Lotus Notes. In a strange way a concept that felt "outdated" is something that I would love to be the default behavior for many apps today.
quambo•50m ago
It’s great to see apps being shipped with offline first (and flawless syncing as an optional feature) from ground up, sad to see many modern notes apps like notion or capacities treating offline as afterthought. But alas, it’s still a non trivial nut to crack.

Hope one day offline first will be a default and a solved problem.

dools•43m ago
Interesting! I wrote something similar for my app recently, it was the first thing I coded using LLMs.
quambo•37m ago
Nice! Would recommend to decouple as much as possible and have tons of testing, every issue thats catched before having to go to the length of debugging client side issues is gonna save some sleep. Have been there, learned the hard way..

Whats your app?

dools•19m ago
Yeah it was a deceptively complicated issue. I’m not sure if my implementation is as comprehensive, but it sounds similar: optimistic local writes, outbound queue, server as source of truth, each client has local SQLite.

The issue I found most difficult architecturally was how to deal with staying responsive on first sign in with a large DB. I ended up with a system I called “materialisation on demand” where it will search the server and download only those rows ahead of time.

EDIT: I also ended up using multiple local databases to ensure responsive writes during heavy synching activity.

The app is https://www.benko.app/ it’s available on iOS, android, Mac and windows.

nerder92•16m ago
In which way this is different from PowerSync?

Show HN: Bor – Open-source policy management for Linux desktops

https://getbor.dev/blog/2026-08-02-bor-v080-release/
36•eniac111•2h ago•5 comments

Show HN: Syncular – offline-first SQL sync with TypeScript and Rust cores

https://github.com/syncular/syncular
19•quambo•1h ago•8 comments

Show HN: I'm a 15 Year Old Wannabe Engineer, This Is a Cycloidal Gearbox I Built

https://github.com/tom-ilan/cycloidal_gearbox
181•tomilan•9h ago•51 comments

Show HN: Katharos Functional programming and CSP-style concurrency for Python

https://github.com/kamalfarahani/katharos
2•kamalf•55m ago•1 comments

Show HN: CaLLMar – play a text-based adventure game in an LLM chat

https://github.com/lascauje/callmar
2•lascauje•55m ago•0 comments

Show HN: Documan – AI Powered Requirement Management Workspace

https://github.com/bbayer/DocuMan
2•bbayer•1h ago•0 comments

Show HN: We made Arcad, a parametric CAD in the browser, free and no signup

https://app.arcad.studio/
4•steinvakt2•1h ago•2 comments

Show HN: Logan Basic v2.1 - An online BASIC interpreter.

https://sinusoft.com/loganbasic/
10•Sinusoid314•2d ago•3 comments

SHOW HN: Substantial update to UK train mapping

https://trainmap.co.uk/map.html
2•optionalltd•1h ago•0 comments

Show HN: 8bit/cnlibs – 8bit Shadcn component library

https://8bit.cnlibs.com/
2•samke-•1h ago•0 comments

Show HN: Elevators

https://john.fun/elevators
1598•Jrh0203•1d ago•395 comments

Show HN: Btfy – a blockchain that uses weather observations

https://github.com/kotagit75/btfy
4•yuzu_mikan•4h ago•1 comments

Show HN: Aevros .... A kernel that explains itself

https://github.com/Mobeen0119/Aevros
2•Mobeen0119•3h ago•0 comments

Show HN: I built a personal CRM that lives inside Apple's Contacts app

https://www.persodex.com
4•poolie•3h ago•0 comments

Show HN: TamedTable, AI ETL in Natural Language

https://www.tamedtable.com/
3•ZeljkoS•3h ago•4 comments

Show HN: Galda – Come back to Claude Code/Codex without digging through Git

https://galda.app/
2•masa1992•4h ago•0 comments

Show HN: I worked on a new browser for 2 years, today it passed Acid 3

https://code.intellios.ai/cwbrowser/
141•coolwulf•1d ago•43 comments

Show HN: Cobalt, an SDK to build apps for Kobo eReaders

https://github.com/BandarLabs/Cobalt
5•thepoet•4h ago•0 comments

Show HN: Run multiple Claude desktop accounts in isolated windows (Mac/Windows)

https://deckspace.dev/claude-accounts/
2•sami_builds•5h ago•0 comments

Show HN: Rotating torus in terminal (but with kitty graphics protocol)

https://andreadimatteo.com/torus-v0-5.html
3•deotman•5h ago•0 comments

Show HN: Legionlinuxtui – Control Lenovo legion laptops in the terminal

https://github.com/nooneknowspeter/legionlinuxtui
16•nooneknowspeter•3d ago•0 comments

Show HN: What should the GUI for AI agents look like?

https://marbleos.com/demo
134•akbabu•2d ago•77 comments

Show HN: Vein, a minimalist open-source resource management game

https://d2ykijtrvb890q.cloudfront.net/
2•thevahidal•1h ago•1 comments

Show HN: Copy any website pixel perfect

https://github.com/HarKro753/claude-copy
7•Harro123•14h ago•10 comments

Show HN: Gander, an Android file viewer that asks for no permissions

https://github.com/mokshablr/gander
206•mokshablr•2d ago•74 comments

Show HN: Minimal LLM Post-Training Experiments on an 8GB GPU (SFT, DPO, GRPO)

https://github.com/pochenai/nano-llm-posttraining
21•popopanda•23h ago•0 comments

Show HN: CostPerPrompt – Live AI API pricing and real-workload cost calculators

https://costperprompt.com/
20•ahmed_hassan7•9h ago•7 comments

Show HN: I get 25 deep researched ideas with one single prompt

https://github.com/ringlochid/banksia
8•ringlochid•8h ago•2 comments

Show HN: Kedge – Full-stack cloud with forkable VM snapshots and global SQLite

https://kedge.dev/
136•wgjordan•3d ago•25 comments

Show HN: BitBang – Reach machines behind NAT from a browser, no account

https://github.com/richlegrand/bitbang-cli
94•narragansett•1d ago•37 comments