First of all, I really love your work! It has great potential to become the universal file sync backend for many future applications. Right now I'm developing an open source C++/Qt-based multi-platform application framework for small/medium business and intranet applications. The idea behind this is not far from the BTSync concept: Instead of having dedicated database servers storing data and web servers providing user interfaces, it will be all together inside a single desktop application. It uses SQLite for offline data storage as a local backend and also has a shared database system on top to exchange and synchronize data with it's peer applications. The application can discover it's peers on the local network using broadcasts and share connection details about known peers. It provides an native interface for creating new database and tables that are shared between the peers. User Interfaces for specific apllications frontends are QML/HTML5 based and also stored and in database and may be shared between peers. I think you can imagine where this is going. We were planning to create some file sync backend for sharing documents and binary data as well. Network shares or FTP cannot do what we need. And then BTSync was released and does exactly what we are looking for. So please make your API C++. It will be very useful for a lot of developers out there. Java or some other scripting language brings too much restrictions. Keep it low level and simple. Leave the idea of web based api behind as you did with the cloud. Developers can provide this on their own if they have a low lvl C++ API. I want to see more peer-to-peer based scalable "crowd computing". This this is the future in my opinion. It would have so much potential this way and help us a lot with our work.