Substratum.cloud comes to life
This fine Sunday evening after a long week of work and 7-11 grind. I want to share a progress update on my dream of a distributed web starting with the storage layer, Substratum.
If you haven't read my previous leaflet I recommend taking a look for a more in-depth vision for what I believe the web can look like.
I will try and keep sections "normie" friendly and have technical deep dives in each section.
TLDR
Substratum is a Private IPFS (Interplanetary File System) Network with a AT Proto (Blue Sky's Authenticated Protocol) layer between it for permissioned access and privacy. Allowing folks to self-host or eventually connect to a cloud version and run a node at home for immediate access and redundancy. My goal is to make it able to run on all devices so every computer can uphold a private sovereign network.
Why Substratum?
Subtratum is for people and families who want to have their memories shared between each other in a reliable way not just digitally but physically. In the modern web we think of Google and Microsoft as infallible. Yet they run in a handful of data centers with some replication yet if one was to have a catastrophy all of your personal data is at risk. Not to mention if you break their terms of service your data is subject to being gone forever. With Subtratums technology its different. Bluesky brought a concept of content ownership back to the user. We can self host our own profile and data and have it accessible through a network. The network can ban certain content if it breaks its policies but the content still exists. For your most important memories this is a critical distinction.
For more details on why Substraum checkout our docs site here.
Whats the vision?
Imagine your mom, your siblings have an account each and can chose to offer data storage on their devices for your most important memories and files. They can't see your data unless shared but if a fire broke out anything in the substratum network of trusted peers is saved and can be resync'd.
Desktop application
A huge milestone this past week was creating a MacOS installation application. Getting one step closer to allowing your family to host all your collective memories together.
The installer will ask you to select the PDS (Personal Data Server); Bluesky, Tangled, or coming soon Substratums' own and of course a custom PDS url if you selfhost it. This will allow users to use their login of choice not locking you into a single organization substratum or otherwise.
For my fellow nerds...sorry normies
I wanted to not pre-bundle the DB tools and make it run on any OS. Each operating system has a trusted package manager. I opted for ones that will give me the most resilient installs on each.
MacOS - Homebrew
Windows - wget
Linux - brew
Tech stack
Postgres for the Database
Gives RLS, Pub-Sub and so much more
Mithril.js
A 8kb gzipped framework that supports react like JSX for comfort.
The application is under a MB!!!
Also one of my favorite game companies ArenaNet who created GuildWars 2 runs their trading post (I read an article on it a long time ago, check it out) and I wanted to get more experience with it (HIRE ME!)
Rust Tokio API
A blazing fast API layer that could be compiled down to WASM one day.
IPFS private swarm
I chose the rust implementation since it has traits and I can easily swap the network behavior layer in Libp2p that allows me to inject requirements for authentication and authorization.
Tauri
Allowing the web version and desktop application to run on the same code.
I was able to integrate TUS uploads which is a protocol for pausable/resumable uploads much like we expect on Google Drive or One Drive.
The installer creates a Postgres service, Gateway service, and Desktop application that can be accessed anytime offline or not!
I will dive more into the Substraum.cloud architecture in a future post but wanted to share this huge milestone that will get the app one step closer to the dream of us all sharing the web and our resources together reducing the need on centralized providers alone that actually create a single point of failure and organizations that own our data and control our lives without our consent or knowledge.
Until next time, peace nerds and normies!
~ Triforce