Inspiration
I was born in the Dominican Republic and a couple of years ago moved to Madrid to study for a master's in legal practice, and now I'm currently residing there. So, as an immigrant living abroad, I understand the value of communicating with your loved ones, and often, sending or transferring funds to them but most importantly, I know the difficulties of communicating and transferring funds to a person at the same time.
High fees, unreasonable delays, different platforms involved, and if you're using a crypto wallet, which address belongs to who, triple-check if it is correct and still not be sure until it arrives at the destination, and many more inconveniences.
We think that transferring funds and communicating with the person who'll receive the transfer should be accommodated to be as simple as possible. So the idea of creating a messaging app that allows users to send funds to their loved ones and grant them true ownership and control of their data while rewarding them for using the app seemed like a reasonable thing to do. And that's how DMe was born.
What it does
DMe is a decentralized messaging app running on NEAR Protocol. It allows users to transfer tokens, NFTs, and Stablecoins as easily as sending a chat; get rewarded for using the dapp, and have control over their published content and processed data. We are building DMe so users can onboard quickly to the NEAR Protocol.
How we built it
Originally, we started building the chat room and message functionality from the ground up but we opted to use Matrix.org, which is open source as our home-server foundation and for its security. We are also using element.io as the client-side app as the foundation.
Challenges we ran into
Learning and figuring out how to set up Matrix on a local machine. Then deploying it on AWS Amplify - Server is deployed to https://matrix.dme.chat and the client is deployed to https://app.matrix.dme.chat
Matrix home servers, come in 3 popular flavors - Synapse (python), Dendrite (golang), and Conduit (rust). We needed to figure out which version of the home server would be ideal for additional development, and integration with NEAR. We opted to use Synapse because 1. It was easier to work with. 2. They have an admin endpoint to allow connecting with smart contracts on NEAR.
The client-side app for elements was also broken into several repositories, and getting them to compile was challenging.
Accomplishments that we're proud of
Being able to use a thriving ecosystem rather than building something from scratch, wouldn't have the security required to build this app, and having received mentoring, comments, and instructions from this amazing community of builders.
What we learned
As mentioned before, we are glad that we spent time speaking with other teams at the conference. Networking was one of our main goals and we have great conversations with other participants. Potentially integrating with services like Popula, for example, would allow us to connect Rooms and Groups on DMe chat to manage their reputation, and allow us to implement a chat-to-earn model. Or work with Blogchain to allow users to directly share their posts on DMe, just as we're used to doing with other traditional social networks, like Twitter or Reddit.
What's next for DMe
Since we had to focus on the web version for this event, we'll continue working on the integration of the API with our mobile UX/UI design and with the help of our committed team, have a working beta for Android and iOS by November.
On a more technical side, we will implement features to automatically create guest accounts on a smart contract (guests.dmechat.near
) for users creating accounts on DMe's home server - https://matrix.dme.chat; This will allow users to get started with DMe with a crypto wallet already built in. When users are ready to create a .near
wallet account, we can facilitate the account creation with the funds held in the guest account.
We want DMe to become the top NEAR messaging dapp and connect all our communities, HUBs, or adopters around it, and from there, expand to the infinite and beyond.
Built With
- amazon-web-services
- matrix
- near-api-js
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.