The analysis of complex interdisciplinary problems could be viewed as a journey to unknown territories. When we go on a journey is usually prefer to have a good map of the place. but if the map does not exist, we develop our own map as soon as we move through unknown territories

Nikolai Khomenko

Inspiration

Constellapedia, AKA the humanity constellations of problem encyclopedia is based on the OTSM network of problems framework developed by Nikolai Khomenko [1] (General Theory of Powerful Thinking in Russian) but with the contribution and improvements provided by different scholars since its original inception [2]. OTSM has been proven to be an effective framework to map problems and find solutions

What it does

With Constellapedia you can create/explore constellations of problems, think about them as domains, like Corruption, Human disabilities, Poverty, and many other issues that affect us. In these constellations, like in real ones, you have "stars" AKA nodes, each one representing a smaller problem or solution. The important thing is how these nodes relate to each other, are they a partial solution to a problem? are they a consequence of another node, etc. After a while, adding and connecting nodes, a constellation starts to appear, thanks to the fact that each node has "gravity" and each connection applies tension to the nodes, creating an organic visualization, that is not only beautiful but also automatically cluster common nodes, although sometimes human intervention is needed to further organize the constellation in a way that makes more sense and is useful.

Organic constellation formation

Organic constellation of Humam diseases

Constellation zoom Constellation zoom

The way the information is stored in Constellapedia (Graph DB) allows for an almost direct correlation between the data and the visualization of it, allowing the consumer of data to rapidly change the perspective, for example, take a look at this constellation with data taken from Starships and Tokens and how it can change perspective from constellation to hierarchy view in one click:

Visualization conversion

Other than a name a type and connections, nodes also have content, generated by the users using a WYSIWYG editor The content of a node is used to further explain the problem or solution, and it can be used to communicate with the community needs of the node, like looking for collaborators or to fund the node with financial incentives.

To consume this information or to donate, users are not obligated to access the visualization engine, since Constellapedia generates a webpage for each node that renders the information separated from the engine.

Node public page Node public page (TOP)

Check a public node page here: https://app.constellapedia.com/nodes/163

Donations at the moment are connected to a sandbox account, so you can use fake credit cards to test the UX. But don't be fooled by the apparent simplicity of the donation system, this is not just a pay with card generic button. Constellapedia is actually consuming an API from GrowishPay[*] that allows it to create FIAT e-wallets on demand (for free), for users, nodes, or even constellations, in so keeping the accounting separated and deciding complex financial flows, like fees, incentives, bank wires to services providers, and so on...

Node public page

Payment UX from public node page

Is not yet clear if FIAT transactions are the correct way to support Constellapedia and the community, other solutions in-chain especially The Ocean protocol are being considered, but considering the limited amount of time related to the Hackthons nature, this is a good first draft.

In terms of mobile accessibility, although data creation/editing is not advised due to its complexity, data consumption instead is supported to an extent. Scan this QR from your phone to try it out:

qr code Scan me with your phone to try the mobile experience

How we built it

At the current stage Constellapedia effort was 50% research and 50% code. This is to say the focus of the author was to get the theory right, but also by acknowledging that it is impossible to have it right the first try, and without community feedback, the architecture then is made to be as agnostic as possible, so future improvements and iterations of the OTSM can be applied without having to refactor a lot of code.

To support that statement, the technology behind Constellapedia was chosen very carefully. The backend is based on microservice architecture orchestrated with Docker, with one API server, one application server for the visualization tool, and one static server for the homepage. The front leverages the power of VisJS, a powerful open-source visualization library developed with big data in mind.

The database is Neo4J, a powerful Graph Data platform, that handles data persistence and graph algorithm execution using the Cypher language. Neo4J also offers a data science tool that allows users to further explore Constellapedia data, fundamental for making the project interoperable.

Bloom example Constellapedia data visualized by the data science tool Bloom by Neo4J

What's next for Constellapedia

Oh boy, there is plenty of things to do!. Not only from a technical stand, but also from a framework perspective, and will only be clearer after community and experts' problem-solvers feedback.

For now, this is a simplified future constellation of what's next: Contellapedia future

REFERENCES

[1] OTSM Network of Problems

[2] OTSM-TRIZ Network of Problems for evaluating the design skills of engineering students

[*] NOTE regarding GrowishPay

GrowishPay, the company that offers the service behind the donation system used by Constellapedia is a finctech startup based in Milan of which the author of this project is a member (Co-founder and CTO). For transparency's sake, I feel obligated to inform you of this. There are no impositions on the usage of GrowishPay services in the future of Constellapedia, in fact, the selection of this solution was mainly based on the high know-how of the author in GrowishPay.

Built With

Share this project:

Updates