What if we displayed our mental models as graphs, and built them with others? People could contribute their expertise, have reference points for debate, and branch off of each other when they disagree.
Git and GitHub are natural tools for building these maps. You can fork someone's mind map and continue with your own ideas. Members of a community can open pull requests to contribute and grow the graph.
What it does
We have seamlessly integrated a clean GUI with GitHub to turn any repository into a graph. Anyone can use GitMaps to create and collaborate on mind maps:
- Create, connect, and edit nodes
- Save to GitHub from the web
- Fork and contribute to projects
- Visually inspect pull requests
- Crowdfund with Bitcoin
How we built it
To enable an editing workflow purely on the web, we knew that we needed to have:
- Graph editor
- Save to GitHub
- Pull request review
GitHub does the rest: Forking, accounts, issues, contributor permissions, etc.
The Cytoscape.js library and its plugins provided graph manipulation.
Challenges we ran into
Saving to GitHub without a CLI gave us the most headache, but we really wanted the app to be 100% web-based. Using the GitHub API required a deep dive into how Git works.
Accomplishments that we're proud of
Using red/green diffs to show a visual pull request worked out really well. It's an intuitive and novel way to work on a graph incrementally.
Using Git behind the scenes to save graphs without a CLI was complicated, especially on a time budget, but we managed to enable all of the workflows that we wanted.
What we learned
The incentive system is the most challenging part of the Mapsmap requirements. We considered putting a Bitcoin QR code on each node in the map, just like what is described in "Starships and Tokens". However, we think that a bounty system makes more sense as a reward for creating graphs, rather than a reward for completing tasks.
People who accomplish technical feats that move the tech tree along are largely rewarded by the market. Crowdfunding can only cover a small fraction of that reward. Instead, crowdfunding is more useful for building out the graph in the first place, so that the opportunity is understood.
What's next for GitMaps
We need to find an early-adopter community that has a project that GitMaps is suited for.
We would like to create a stronger incentive system. We think that paying out crypto on accepted pull requests could be one way to jump-start the creation of a mind map.