project screenshot 1
project screenshot 2
project screenshot 3

NeoGraph

NeoGraph is a highly powerful and extensible data visualization tool, that seeks to provide new and interactive ways of deriving meaning of otherwise hard to sift through data.

NeoGraph

Created At

ETHGlobal San Francisco

Winner of

The Graph - Best New Subgraph 2nd place

The Graph - Best Substream

Project Description

NeoGraph is a powerful and extensible tool for building highly interactive data visualizations.

As developers and people in tech, we often rely on text to convey meaning, because it is highly interoperable with other text. Which makes up the majority of our tooling with things like log files and code. However text is not a rich medium for expression, because our brains did not evolve to read text. They evolved to identify patterns in visual data. Think of the difference in trying to understand the raw data of an image file, compared to the image it actually represents!

The problem with most solutions to this problems, are that most data visualizations are "lossy", that is the output of a visualization is only a picture, and not data itself. This heavily restricts how useful these kinds of programs can be. However this is not true in the case of our tool.

So what we built, is a tool that is as extensible and usable as text, but provides a much richer medium for visual expression. And with this tool, we can render data sets that your brain can immediately draw meaningful conclusions from, without needing to parse through text or take someone elses word. All while not sacrificing the contextual power that raw data provides.

The way our program achieve this, is by making all visualizations living programs that can be modified and used on the fly. What this means, in a visualization, you can interact with an element in the data set, and use it as the starting point of the next meaningful query. Because all elements in the visualization are just a special view on the underlying data object.

The uses for this are widespread. Let's walk through a few.

  1. DAO Tooling In the case of DAO tooling, we would use this tool to provide views into, for example, what a proposal will mean for the DAO. Another example would be showing the meaningful impact of previous and historical proposals. All of these examples could then be further composed into a single view, which allows us to compose these to build a better story of the data we are trying to explain.

  2. Subgraph Data Exploration With our tool, users can query subgraphs or other data sources, and visualize how all of the nodes are related. Upon selecting a node, or sets of nodes, they can use this specific entity as the starting point for a new query, which won't modify our initial view.

How it's Made

We built this project using: Pharo smalltalk The Streamline programming language The graph (as our primary data source for visualizations)

Using pharo gives us a ton of super powerful data visualization tools. And without it the project would have been impossible in this timeframe.

Using the graph was also pretty fun. But the file data sources were very frustrating to get functional. Additionally the substreams endpoints kept going down for us as we were building. Not good!

Streamline was also great. I don't think we could have iterated as fast as we could have without it.

All in all we are pretty happy with what we managed to spit out in just over a day!

background image mobile

Join the mailing list

Get the latest news and updates