Skip to main content

Mintter technical guide

Introduction

Mintter is a decentralized knowledge collaboration application. It’s built on IPFS, it’s peer-to-peer (P2P), and strives to be local-first. This document assumes that readers are at least somewhat familiar with the mentioned concepts, and with what Mintter is about.

HyperDocs

An open protocol for collaboration and sharing permanent knowlege

  • Terra - IPFS network + semantic content types for documents and discussion
  • Aqua - gRPC over p2p protocol for sharing links to Terra content
  • Aer - Web protocol for introducing users into HyperDocs

The HyperDocs protocol is initially designed by the Mintter team but is ultimately defined by community consensus.

Mintter.App

The desktop app that the Mintter team develops. Provides the following features

  • Cross Platform - Runs on Windows, macOS, Linux
  • Peer-to-Peer - Does not rely on any centralized servers
  • Offline First - Works great even if your computer is frequently offline

Mintter.Web

The web gateway that the Mintter team develops

Mintter Documents

Mintter Documents are containers of content blocks, arranged in hierarchical tree structures.

Anyone can create content blocks, edit them, move around blocks or whole subtrees of blocks.

Published documents can be linked from other documents, and you can bring in portion of some document into your own document, always keeping the trace to the original. This is called a Transclusion.

Untitled

Many of the challenges we faced trying to develop such a system on top a decentralized network like IPFS didn’t have easy plug-and-play solutions at the time. This includes:

  • Decentralized Identity
  • Version Control
  • Multi-Device
  • Rich Hypertext Capabilities

High-Level Architecture

Local-First

As mentioned in the introduction, we want our app to follow the principles of the local-first software. The original paper (linked above) is a highly recommended read.

We believe that P2P technology could enable superior local-first experiences, and we bet on IPFS and Libp2p to become major parts of this journey.

Desktop App

Mintter is a desktop app. Here’re some images and videos (click to expand).

Mintter App Architecture

Here are some screenshots of the current application

Page: Inbox Page: One Publication Page: Publication with transclusions Page: Publication page with the activity panel

We created this Mintter Showcase Video Playlist to show some of the core features you can find in the current Desktop app.