Let me know!

Give us your email and we will reach out when this feature lands

    Ditto Product Roadmap

    Thank you!

    We're probably going to get in touch soon! So excited that you're excited for these new features!

    These are the upcoming features that are under consideration, development, or have already been released. This page always bring us the most excitement!


    These are subject to change. But let us know which one is important to you.

    Online JavaScript Playground

    Play with Ditto right in the browser. Sync between tabs and instances.

    End-to-End Encryption

    Allow devices sync data over a multi-hop topology while preserving permissions via end-to-end encryption.

    Ditto Bus (Pub Sub)

    Ditto Bus is a pub sub-like API that leverages Ditto’s existing peer-to-peer networking. It is built for very low-latency applications such as remote control or live text cursor sync. Messages are sent as fast a possible with a high preference towards speed over reliability.

    Apps can subscribe to messages like:

    ditto.bus["mytopic"].subscribe { (msg: Data) in

    And publish like this:

    // Send arbitrary byte arrays
    ditto.bus["mytopic"].publish([0x01, 0x02])
    // sending a non-byte string will automatically use CBOR serialization for convenience
      "foo": "bar"

    Relationships and Joins

    Add an additional type into the document that specifies a relationship to a different document (even cross-collections). Add SQL-Join like functions to map and reduce results.

    Long-Range Bluetooth Low Energy

    Add support for long-range Bluetooth codecs. This will enable supported devices to sync data up to 1 kilometer.

    Embedded SoC Support

    Run Ditto optimized for an embedded application on dedicated hardware.

    Strongly Consistent Operations

    These operations allow only one peer per transaction to edit a document. This is to enable consensus across the mesh. Great for applications like order fulfillment, maintenance, and point of sale.

    Multiplex Version 3

    Sync data over unreliable or lossy transports. In conjunction with the Ditto Bus this will be a perfect addition for low-latency real time games, robotics, AR/VR applications.

    Audio Streaming

    Send realtime audio across the mesh network.

    Bidirectional Sync with Other Databases

    Replicate seamlessly between other SQL and NoSQL databases and Ditto's Cloud. iOS, Android, web, and IoT devices will instantly observe changes from external databases and able to sync changes back to them.

    Flutter Support

    iOS and Android Flutter Support.

    Geospatial Indexing

    Add special indexing specifically for document properties that represent geographic data like latitude and longitude.

    Low Code No Code Widget Designer

    Build a Low-Code or No-Code widget designer where users can design user interface components like table views, map views, and forms and sync them to iOS, Android, and web apps. Interfaces will be offline-first and are able to show and edit data even while completely offline.

    Multiplex Version 4

    Improve reliability of sync using multiple lossy means of transport using forward error correction and network coding.

    Python Support

    Cross-platform Python Support. Most likely aim for version 3.7 or higher

    Secondary Indexing

    Add secondary indexing support for the data store for faster reads specific to your application. It's likely that the indexes will not be synced and will be a local-data operation only for more flexibility

    Share internet connection over mesh

    For devices that don't have an internet connection, they can proxy communication over the mesh.

    Video Streaming

    Stream realtime video across devices. We might even consider a droppable component in iOS, Android, and web apps.


    We're actively developing on this right now! If you can't wait, please let us know here.

    Ditto for Cloud

    Sync data seamlessly with the Cloud. Ditto for the Cloud is what we call a "Big Peer" which can handle a tremendous amount of data.

    Ditto JavaScript & Web Support

    We're extremely excited about this! Now you can build applications for the web browser using Ditto. This will be published on NPM and will use WebAssembly underneath the hood.

    Ditto JavaScript - NodeJS and Electron Support

    Using the same JavaScript SDK on NPM, you'll be able to build cross-platform apps using NodeJS and Electron. The SDK will automatically detect if you are running in a native context and use our native core experience. This means that all peer to peer communication transports like local area network, Bluetooth Low Energy, and P2P Wi-Fi will be available to Linux and MacOS devices. We hope to have Windows support soon

    Safer FFI Web Assembly Support

    Allow safer_ffi to generate JavaScript APIs via WebAssembly.

    Safer FFI NodeJS

    Allow safer_ffi to generate JavaScript APIs over Node-FFI interop.

    Windows Support

    Add support for Windows (including BLE, P2P Wi-Fi Direct and LAN). NodeJS, C#, C++, and Rust will first class programming languages.

    IndexedDB Support

    Add IndexedDB support which will enable web browser apps to have completely offline-first capabilities. Offline changes will automatically be synced up to the cloud and to other peers upon reconnection.

    3rd Party Authentication Integration

    Allow Ditto Cloud to proxy authentication requests to 3rd-party authentication systems.

    Time Series

    A way to store data with time as a primary key so that you can query across time ranges and perform aggregate functions.

    Multi-Hop Presence

    The current presence system only shows immediate peers. However Ditto's mesh system is able to sync over a multi-hop system. The addition of multi-hop presence will enable peers to see peers that are not directly connected but through an intermediate peer.

    Server-Side Change Streams

    Allow 3rd-party APIs to tail a queue or change log of data event changes. Considering Kafka Queues and AWS SQS.

    Server-Side Webhooks

    Allow external HTTP endpoints to observe server-side data changes.

    Angular Support

    Add support for RxJS and easily hook live queries into Angular apps.

    Multicast Discovery

    Ditto currently uses mDNS, which isn't supported on every platform and has reliability issues. Multicast Discovery is a ground up implementation for more robust device discovery.

    On-Disk Encryption

    Allow devices to keep data on-disk encrypted at all times.

    Push Notifications Support

    Add support for Apple Push Notifications (APNS) and Android Push Notifications.

    Raspberry Pi Support

    Allow Ditto to run on Raspberry Pi devices. This will leverage BLE and Local Area Network. We're investigating if we can get this to work with P2P Wi-Fi Direct or Apple Wireless Direct.

    React Native

    Add React Native support for iOS, Android, and Web

    React Support

    Add support for React providers, context APIs, and React hook for seamless integration.

    RxJava Support

    Add support for RxJava to build Reactive applications for Android and on the server.

    USB Connection Support

    Allow devices to sync over wired USB transports.

    WiFi Aware

    Allow Android devices (subject to device support) to use Wi-Fi Aware. An ad-hoc networking protocol that does not require infrastructure Wi-Fi.


    All features are released in the latest Ditto versions. Enjoy and give us feedback!

    Local Store

    Use Ditto as an embedded local NoSQL database for iOS and Android. No license token required, no sync required either!

    Binary File Sync

    Add support for syncing large binary files. This will include retries, pause, resume features as well. Devices that are interrupted due to loss of connectivity can resume syncing without starting from the beginning even from a different peer (so long as the devices are connected).

    Binary file sync uses Attachments API.

    Combine Support

    Add support for Combine to build reactive applications for iOS and macOS

    See the released Cocoapod here CombineDitto

    pod 'DittoSwift'
    pod 'CombineDitto'

    iOS and Android L2CAP Support

    Added BLE L2CAP support for much faster synchronization. Android (10x faster) and iOS (5x faster).

    Multiplex Version 1 & 2

    Use the optimal fastest transport dynamically selected at runtime.

    Read the Blog Post

    RxSwift Support

    Add support for RxSwift to build Reactive applications.

    See RxSwiftDitto for the Cocoapod!

    pod 'DittoSwift'
    pod 'RxSwiftDitto'