I have a soft spot for local-first software. And for slightly crazy ideas that make you wonder why we accepted the current way of doing things as the only logical option. Yggstore ticks both boxes (https://github.com/peterretief/yggstore).
Yggstore is an experimental open-source project that basically asks a very simple question: what if we could build our own cloud using the computers of people we trust? No Google Drive. No Dropbox. No OneDrive. No giant data centre somewhere. Just computers. Your computer. Mine. A mini PC at my brother’s house. An old laptop at a friend’s place. Maybe a Raspberry Pi somewhere else. Together, they become the cloud.
Your file is everywhere. And nowhere.
The basic idea behind Yggstore is surprisingly easy to understand. Suppose I have a large file that I want to store. Instead of uploading that file to a cloud provider, Yggstore encrypts it and chops it into pieces. Those pieces are then distributed across different computers participating in the network.
Importantly, Yggstore adds redundancy. It doesn’t simply cut a file into four pieces and hope that all four computers remain online forever. It creates additional pieces that can be used to reconstruct missing data. So if one of the machines disappears, breaks down or is temporarily offline, I can still retrieve my file. In that sense, it reminds me a little of RAID. Except that instead of several disks sitting inside one server, the “disks” can be computers sitting in different houses. That immediately makes the idea much more interesting.
The tiny file that matters
There is another clever part. After storing something in Yggstore, you keep a small .ystub file locally. Think of it as a luggage tag. The suitcase itself may be somewhere in the enormous luggage system of an airport. The tag contains the information needed to find it again. The Yggstore stub performs a similar role. Give it back to Yggstore and the software can retrieve enough pieces from the network, reconstruct the data and decrypt the original file.
That also means those tiny stub files are rather important. Lose them and retrieving your data becomes a problem. So yes, you need to back up the information that tells your backup system how to find your backups.
Your own little internet
Yggstore doesn’t do all this over the normal internet in quite the same way that Dropbox does. It uses Yggdrasil, an encrypted IPv6 overlay network. In simple terms, Yggdrasil allows computers to create their own peer-to-peer network on top of the existing internet. That network can consist of machines belonging to people you trust.
Which is where the whole concept becomes particularly appealing. Imagine four or five friends each buying a cheap second-hand mini PC with a reasonably large SSD. Everyone puts one somewhere in their house and makes part of the storage available to the others. My encrypted data might partly reside in Amsterdam, another piece in Brussels and another somewhere in Germany. Your data might partly reside on my machine. Nobody needs to be able to read anybody else’s files.
There is no central cloud company. Because we are the cloud.
I rather like that sentence
Because somewhere along the way, “the cloud” became synonymous with Amazon, Microsoft, Google and a relatively small number of other enormous companies. Technically, of course, it never had to mean that. Cloud computing is fundamentally about abstracting computing resources. Where those resources physically live is a different question. Yggstore takes that idea in almost the opposite direction from Big Tech. Instead of:
my laptop → Big Tech cloud → my data
we get something closer to:
my computer ↔ your computer ↔ his computer ↔ her computer
It is distributed computing brought back down to human scale. And that fits remarkably well with what I find interesting about the current local-first movement.
Local-first doesn’t have to mean local-only
This is an important distinction. When I talk about local-first computing, I don’t mean that everything has to live on one laptop disconnected from the rest of the world. That would throw away many of the genuinely useful things we gained from cloud computing. I want synchronization. I want backups outside my house. I want to access information from different devices.
The interesting question is whether achieving all of that automatically requires handing our data to a giant technology company. Projects like Yggstore suggest another answer. You can have distributed storage without necessarily having centralized ownership. That is a rather important distinction.
And apparently storage isn’t enough
Yggstore is already experimenting with more than simply storing files. There is versioning. There is file sharing. Nodes can exchange messages. The project even experiments with distributed website hosting and receiving email for your own domain.
There is also an interesting “give and use” principle. If I use storage provided by other people, I should provide storage to the network myself. Yggstore keeps track of that balance, although the mechanism is not yet strictly enforced. Instead of paying a company €10 every month for 2 TB of storage, I contribute resources to a community and receive resources from that community in return. It feels surprisingly old-fashioned. In a good way, that is. It reminds me of the earlier internet, when the idea wasn’t necessarily that every useful online activity needed a company, a subscription and a platform sitting in the middle.
Don’t cancel Dropbox just yet
There is, however, a rather large disclaimer attached to all of this. Yggstore is a proof of concept. The developer explicitly warns that the cryptography has not been independently audited. There are also technical limitations. For example, lost storage fragments aren’t yet automatically rebuilt elsewhere.
I would therefore not put the only copy of my life’s work on Yggstore. Actually, I wouldn’t put the only copy of my life’s work on anything. Backups are backups because there is another copy. But that isn’t really why I find Yggstore interesting. I am interested in the idea behind it.
Personal computing 2.0?
Over the past few years we have started seeing lots of small projects pointing roughly in the same direction. Local-first software. Self-hosting. Small servers at home. Open-source AI models running locally. Peer-to-peer networks. Personal knowledge systems where the files remain ours. And now experiments where a group of ordinary computers can collectively behave like cloud infrastructure.
Individually, none of these projects is going to replace Big Tech tomorrow. Together, however, they suggest that another architecture for personal computing is possible. One where the laptop becomes important again. Where a €150 mini PC can actually be useful infrastructure. Where cloud services complement our computers instead of replacing them. And, most importantly, where ownership starts with the user.
Yggstore may never become mainstream. It may remain an experiment. Another project may eventually implement the same idea much better. That doesn’t really matter. The interesting part is the question it asks: What if we didn’t need a cloud provider to have a cloud?
Put a few computers in a few houses, connect them securely, contribute some disk space and distribute encrypted data between them. Suddenly the answer becomes surprisingly tangible. Maybe the cloud doesn’t have to be someone else’s computer after all. Maybe it can be ours.