MyResonance Tech Stack v1 …and yes Blockchain

Bertrand Lamarque
Nov 1 · 3 min read

At MyResonance we launched our first product on Slack about 2 months ago — you can find the slack app here. And as we are about to enhance our product with a chrome extension, we thought it would be a good idea to go into some of the technical details around our system.

For those that don’t know MyResonance let me give you a short introduction:

MyResonance helps you understand your impact on people & planet and reward positive change.

It allows individuals or businesses to promote positive actions (e.g: cycling to work, recycling, volunteering etc.. ), measure the environmental or social impact and reward that action with a stable coin. The coins or as we refer them to as Cultural Currency are backed by pledged funds, these coins can then be donated to any non-profit organisations of the holder choice.

The first application of this protocol is a slack application, released about two months ago, allowing businesses to build recognition rich and purpose-driven teams. And you can build some pretty cool dashboard showing what you and your company stand for.

Under the hood we have a mix of technology such as Node, Python running on AWS.

Like most applications, we have an API front, mainly called by the slack app, allowing us to process token purchases, donation impact, relations between users, analytic, CRM etc…

And yes, we use blockchain. We leverage blockchain as a router. The protocol itself is a proof of stake, Huski developed by Qadre. It makes a lot of difference, it means we don’t have to centralise all the data into MyResonance servers and to know the details of our partner clients.

Apart from the token balance, we don’t actually store any data in the blockchain. You will only find metadata about the actions: an action type identifier, a hash representation of a file containing the action impact and a path to this file.

For example below is a “social recognition” action (saying thank you to a colleague for example), performed within slack using the MyResonance slack app. In the source field, we indicate where you can locate the information about this action and why it was given 20 tokens.

{"resonance": {"action": 40001, "nature": 30002, "source": "activities.myresonance.io/306a02a3ca64738d5f9d4f5fdd0f5fb83914a8cc", "timestamp": 1565935087, "receiver": "1K3jkxcofJZnzvjgxpjmBAsdzpUtM4rdPn", "amount": 20, "_fqdn": "myresonance.resonance.recognise"}, "sources": {"1P5ij7xNArpoKwmXEfaKz5eL7fwzwva32P": {"value": 120, "_fqdn": "types.Integer"}}, "balance": 120, "_fqdn": "myresonance.resonance.myresonance", "_version": 0}

Let’s take an other example, integration with a volunteering platform. In this case the volunteering action has been managed and done by the 3rd party platform.

{"resonance": {"action": 40001, "nature": 30005, "source": "vonlunteer.myfriday.org/a04a52a3cf6dd38d5f7d4e3fdd0f5fc75faba6db", "timestamp": 1565925087, "receiver": "1K3jkxcofJZnzvjgxpjmBAsdzpUtM4rdPn", "amount": 20, "_fqdn": "myresonance.resonance.recognise"}, "sources": {"1P5ij7xNArpoKwmXEfaKz5eL7fwzwva32P": {"value": 120, "_fqdn": "types.Integer"}}, "balance": 120, "_fqdn": "myresonance.resonance.myresonance", "_version": 0}

MyResonance does not need to fetch user data from other platform. If there is a source code validating the transformation of the blockchain by a provider previously agreed as an action for good then providing the location and hash of this action is enough.

For MyResonance to be able to build a dashboard we have our own blockchain nodes pushing selected event into an AWS Kinesis stream. Some lambda functions then extract the data, transform and load them into the dashboard.


That’s all for now — do not hesitate to follow MyResonance on linkedIn or to message me to discuss! We are looking for beta tester of our Chrome extension as well and you can register your interest here.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade