Aciety

A communication app based on local-first software principles

A decentralized communication app development

About

Our customer is a creator of an open-source communication app inspired by the principles of local-first software. The app uses a peer-to-peer network to enable a decentralized instant messenger experience to compete with the likes of Slack, Telegram, or Discord. What’s unique about this one is the power it gives to its users - everyone is in full control and has ownership of their own data.

The customer was looking for a team capable of building a peer-to-peer network with minimal use of a centralized infrastructure. The main idea behind the product is to ensure its users full ownership of their own data without relying on a traditional, centralized architecture. Each client runs a hidden service that forms a mesh of connections. There is no central server responsible for mediating connections.

CHALLENGES Communicators like Messenger, WhatsApp, or Slack all rely on centralized server-based architecture which means users lose access to their apps & whenever there’s an issue with the physical infrastructure. We’ve seen it all before with global outages of apps owned by Facebook (now renamed to Meta). The goal of our customer was to create an instant messenger app that’s independent of servers, and, at the same time, allows for a cloud-like user experience where clients can share and exchange data and access it from any device.

Building a decentralized communication app is not a piece of cake. A unique project like this one required a lot of creativity, brainstorming, and vast knowledge of technologies like IPFS and peer-to-peer protocols. In this particular case, there was no blueprint for software development and our engineers had to think out of the box to create custom protocols suitable for this type of communication app.

Addressing the potential challenges to overcome, we separated three main points to focus on:

How to implement a local-first approach without compromising on the quality of communication? How to assure fast communication & offline access to messages without relying on traditional architecture? How to enable the highest level of security for the apps’ users?

SOLUTION In order to give each peer a persistent address, and to protect the IP address of individual users, the app is built on the Tor network. Our experts had to find a way to build a set of libp2p protocols that use WebSockets over Tor. Rumble Fish developers created a one-of-a-kind custom set of protocols as there were no ready-to-use tools to support what we had to do. Libp2p, according to its creators, is a modular system of tools and libraries that enable the development of peer-to-peer network apps - exactly what was needed in order to make a start. What was lacking was the protocol of how to implement WebSockets over the Tor network. Finding and implementing a custom solution for that was a demanding, yet very fun and satisfying, part of the project.

Sending messages to your peers through hidden services when you’re all online is as easy as pie. But receiving p2p messages when you happen to be off the network requires some advanced development. In this case, we used IPFS (InterPlanetary File System) which is a distributed system for data storing enabling its users to host and receive content (in this case chat messages, files, and attachments) without a centrally located server. Having the offline aspect in mind, our team decided to use OrbitDB to automatically sync the app’s database with the user returning online.

In order to enable the highest level of security, we decided on taking a Defense in Depth (DiD) approach, where independent defensive mechanisms are layered on top of one another to protect users and their data on various levels. Each layer of our DiD protocol is responsible for a different aspect - one encrypts messages and the other is Libp2p that connects two peers using a shared certificate.

  • Not providedSize in euros
  • Not providedPrice
  • 29Duration in month
  • 6Team size

Tech Information

Skills
Electron
Node.js
React
TypeScript
Services
Software Development
Mobile Development
Industries
Other information service activities
Information service activities
Markets
World

Rumble Fish Software Development Portfolios

Company Description

Rumble Fish Development is a Software and Production House. We specialize in Blockchain, FinTech, and Cloud Computing. We quickly adopt the latest technologies delivering cutting-edge functional, accessible, and fast solutions.

We are a team of super-experienced full-stack developers with extensive expertise in Ethereum Blockchain, AWS, Cloud Computing, Solidity smart contracts, Node.js, React, Python, Node.js, Hyperledger, and FinTech. Rumble Fish provides end-to-end development services so our clients can fully rely on us.

We are based in Cracow, Poland, having a team of 40+ brilliant and dedicated professionals with the vision and skills to shape the future of technology. Internal Education Center and R&D department allow us to be at the forefront of software development technologies.

We have extensive experience working with companies worldwide and can provide you with referrals from our past and current clients.

Why you should cooperate with Rumble Fish:

  • End-to-end digital solutions development

  • A team 100% dedicated and focused on your business project

  • Constant delivery

  • Daily standups with the Client

  • Competitive in rates

  • Full transparency of the development process

Our expertise covers:

  • software design & development

  • cloud application maintenance (AWS)

  • core blockchain development

  • Ethereum smart contracts development

  • IoT

  • Hyperledger development

  • ICO Launch

  • Security Audits

  • And many more

How we work:

IDEATION We put your ideas and imaginations down to a clear concept & strategy

EXECUTION Architecture, Design, and Development stage

LAUNCH Final approval, testing, deployment, go live in sync with marketing and sales

GROWTH User feedback, lifecycle maintenance & support, continuous growth

We see every project as an opportunity to show our top-notch skills. To this end, we go against conventional methods and explore new ways to create scalable and high-quality products.

Whether you are a startup, established business, or a governmental organization, we have a team of the best Blockchain, FinTech, and Cloud Computing developers to breathe life into your ideas. Challenges are our passion.

Get in touch!

Company Information

We Help Cover All Your Needs In The Following Service

Transparent Triangles