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 of Humam diseases
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:
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 (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...
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:
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.
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:
REFERENCES
[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.
Log in or sign up for Devpost to join the conversation.