Ditto Blog
ditto.live · Company blog · on HN since 2020
Ditto, a company building peer-to-peer and offline-first data sync, writes on Rust, CRDTs, Bluetooth on iOS, and mobile networking.
What HN saysHN mentions come largely from Ditto staff and users who recommend its sync SDK and note Rust's tradeoffs, like training hires and slow compiles.
24HN people shared it
16linked it in comments
19stories submitted
244story points
1 year agolast shared
2020people per year2026
Most-shared posts
- 1Ditto: Real-time sync for apps even without the internet15 people · 177 points · first shared 2020 · 85 comments on HN
- 2Mocking Time in Async Rust3 people · 24 points · first shared 2022 · discussion on HN
- 3Bridging React Native and Rust via JSI2 people · 2 points · first shared 2024 · discussion on HN
- 4The Future of the Cloud? Make It Optional1 people · 8 points · first shared 2022 · 1 comments on HN
- 5Multiplexing Multipath P2P Mobile Transports1 people · 7 points · first shared 2021 · discussion on HN
- 6Introducing `safer_ffi`: write Rust code callable from C without `unsafe`1 people · 7 points · first shared 2020 · discussion on HN
- 7Testing CRDTs in Rust, Theory to Practice (stateful property based testing)1 people · 4 points · first shared 2022 · discussion on HN
- 8Bluetooth Low Energy on iOS from Scratch -commentary on limitations/difficulties1 people · 4 points · first shared 2020 · discussion on HN
- 9Tutorial – How to build a fully functioning C++ To-Do List App1 people · 2 points · first shared 2021 · discussion on HN
- 10An Inside Look at Ditto's Delta State CRDTs1 people · 2 points · first shared 2023 · discussion on HN
- 11We attached a database to our peer to peer sync solution1 people · 2 points · first shared 2020 · discussion on HN
- 12Getting Started with Bluetooth File Sync1 people · 2 points · first shared 2023 · discussion on HN
- 13Running a React Web App in an Android App1 people · 1 points · first shared 2024 · discussion on HN
- 14Show HN: Does My Android Phone Support Wi-Fi Aware?1 people · 1 points · first shared 2020 · discussion on HN
- 15Getting Started with Core Bluetooth1 people · 1 points · first shared 2023 · 1 comments on HN
What HN people wrote when they linked it
bigfish24 · 2023-08-26
All of our core code is Rust and even in web backend and k8s tooling at http://www.ditto.live
Been a great choice even with trade offs like needing to train some hires and compilation speeds.
sgarland · 2024-10-21
I’ve never used this, but I know people who work here [0]. Might be useful for you?
[0]: https://ditto.live/
ergl · 2024-09-27
I'm biased since I work on it, but https://ditto.live/ provides an SDK that allows P2P and cloud sync. You interact with it like a database: write your queries against your data, and it will move between devices automatically
Bill_Ditto · 2024-09-12
Ditto is a very viable solution, we offer device sync even without a central server. Ditto is a cloud optional edge sync platform that can sync data between devices, even without the internet. We are partnered with MongoDB to provide an alternative to Device Sync. I encourage everyone to read our docs:
https://ditto.live/
npb12 · 2024-01-23
If you haven't come across https://ditto.live, definitely check it out. They've put a lot of focus on this case.
stusmall · 2023-05-18
Have you looked at https://www.ditto.live/
Full disclosure: I work there
Rygian · 2022-10-06
Couple of buzzwords that address this point:
* CRDTs
* "Intelligent Edge Platforms" as Ditto [1] calls them
[1] https://www.ditto.live/
Animats · 2022-09-22
From Ditto's "privacy policy":
Ditto uses your personal information in the following instances: ...
Deliver direct marketing communications to you regarding our products and services that we may think are of interest to you. ... We share Personal Information with third parties ... Depending on how you use the Site or Services, the following categories of third parties collect data on our behalf or receive Personal Information ... Advertising and marketing partners.[1]
That pretty much says what they're really doing.
[1] https://www.ditto.live/legal/privacy-policy
waydegg · 2022-08-21
Are there similar services to your company's (https://www.ditto.live/) out there already? I haven't had the need for this yet, but I can see your product being pretty damn useful
knes · 2021-10-26
Did you look into https://ditto.live/? Its and off-line first db too. I never used it but looks very interesting and would be interested how it compare to the technologies you picked
octopoc · 2021-03-02
It seems so: https://github.com/nwestfall/BlazorDB
Although this might be using JavaScript interop instead of using WebAssembly directly.
Edit: check this out: https://www.ditto.live/
It’s a multi language CRDT implementation that seems to use WebAssembly to be available in multiple languages.
elpakal · 2025-07-07
armincerf · 2024-06-25
"syncing doesn’t work without a server"
I don't think this is true, granted there are some big challenges to transfering data between devices without a central server, but there are several projects like https://dxos.org/ which use p2p, and also there's https://ditto.live/ which uses bluetooth/wifi direct for cases where all users will be in the same room or on the same local network (imagine wanting to play chess with a friend sitting in a different row on a plane without wifi - I was in this situation recently and was pretty surprised that I couldn't find anything on the app store that could do this!)
Of course most of the time its better to have a server because p2p still has a lot of difficulties and often having a central 'source of truth' is worth the costs that come with a server based architecture. So imo things like https://electric-sql.com/ or https://www.triplit.dev/ or the upcoming https://zerosync.dev/ will be far better choices for anyone wanting to build a local first app used by many users.
someoneFromWeb · 2022-09-30
mbalex99 · 2020-01-07
We've created a peer to peer database at https://www.ditto.live . It runs on servers, WASM, and mobile all with a shared code base. Each row in the database is a robust CRDT that can sync deltas (or diffs) very efficiently. In addition, we are just about to add binary file sync that is quite reminiscent of bittorrent and has all the goodness of retries, resuming downloads, canceling, and pausing all baked in.
The most unique feature of Ditto is really our networking stack. Devices that have the database can sync over any available transport: mDNS, WiFi Direct, AWDL, Bluetooth Low Energy.
Here it is in action: https://www.youtube.com/watch?v=1P2bKEJjdec
Here's a video of how being p2p allowed us to architect a database that fall back to mesh networks if the server can't be reached:
https://www.youtube.com/watch?v=0IAle9BYlxQ
We're launching with several massive enterprise companies this year and some mid-to-small ones as well. On your next flight, if you notice that the flight attendants and pilots are using mobile devices to collaborate in realtime even if the internet is down: it's us ;-)!
A couple of notes about how the SDK works:
1. The CRDT that backs our data structure for each row in the database looks like a JSON object to the end user.
2. It is capable of substring modifications, array and map mutations
3. Conflict resolution is automatic and deterministic, the default behavior is LWW but can be customized as long as it's deterministic.
4. It's written…
purisame · 2023-09-06
Ditto (https://www.ditto.live/about) | REMOTE (USA Only) | Full-Time | Senior Software Engineer | Rust
Ditto aims to expand the internet beyond traditional reach. Our groundbreaking edge sync platform is powered by peer-to-peer database technology that runs on mobile, web, IoT, and server systems, enabling devices to sync data in real-time even without the internet.
We work with a variety of customers including the U.S. Air Force, Chick-Fil-A, and Alaska Airlines. We have been featured in top publications including the WSJ and TechCrunch: https://www.ditto.live/about/ditto-in-the-news
Both of these roles are focused on the core of our platform which is written entirely in Rust.
Senior Software Engineer -- P2P file sharing: https://grnh.se/60d02b496us
Senior Software Engineer -- Replication: https://grnh.se/dd88c0f26us