Synomy Notes
2.6.0 beta Download

Building Synomy without a server bill.

How we built a free notes app where your own computer does the work, from syncing and collaboration to AI and storage.

Listen to this article 14:06

Read aloud by Synomy on a laptop, with no cloud and no studio. It reads your own pages the same way, and you can save them as audio.

For the first step I wanted to take everything that exists already, make it better and make it free. That’s not an easy challenge. You want to support syncing, live co-editing, backups, which all require servers and relays for routing the connections. But of course, if you want something to be truly free, you can’t have any costs. Synomy thus is built from scratch to not cost anything to run. How? The answer is decentralisation. Bring your own hardware and bring your own cloud.

The problem with free

Think about what a normal notes app does for you. You write something on your laptop and expect it to show up on your other computer, so somewhere a server stores it. You share a page and both start typing, and a server in the middle passes every keystroke along. You record a lecture and want a transcript, and somebody rents a graphics card by the minute to type it out. You search your notes by meaning instead of exact words, and another server reads everything you wrote. Then there are accounts, passwords, password resets and the support desk for people who forgot which email address they signed up with.

Every one of those servers sends an invoice, every month, for as long as the app exists. That’s why free products drift towards advertising, subscriptions or selling data. I don’t think that’s evil intent. It’s arithmetic: whoever pays the bills is who the app ends up working for. So we made one rule at the very start, and every other decision in this article follows from it. Synomy has zero running costs. Not low costs, because low costs grow with every person who joins and sooner or later somebody has to cover them. Zero times a million users is still zero.

That leaves an obvious question: if we don’t pay for the computers doing the work, whose computers are they? Yours. A laptop from the last few years is remarkably powerful, often has a chip built for AI, and spends most of its day doing very little. So instead of building a data centre and asking everyone to connect to it, Synomy connects the computers people already own. Taken together, they are a data centre spread over a lot of desks, one that nobody gets an invoice for because everybody already owns their piece.

It also turns the usual economics upside down. A normal service gets more expensive with every new user and needs another data centre for every next million. Here every new user brings another computer, which means more places to keep things for someone who’s offline and more ways around a difficult network. The network gets better as it grows, and the bill stays at zero. There are two of us building it, with AI doing a lot of the typing, and no company or investors behind us, so there is nothing to pay back and no reason to ever change that rule. Saying that everyone brings their own hardware is the easy part, of course. The rest of this article is about making it work.

Start with ordinary files

The first decision was where a note actually lives. Most apps keep your notes in a database, either on their servers or inside the app. That’s convenient for the app, and less convenient for you the day the app disappears, changes its price or simply isn’t the one you want to use any more. In Synomy a note is an ordinary file in a folder you choose, written in a plain format that any other editor can open. The few things that format can’t describe, like the colour of a card, sit in a small file next to it. There is no real copy hidden somewhere else. The files on your computer are your notes, and you don’t need Synomy to read them.

I’d defend that choice above almost any other, because it is the difference between using an app and renting one. A database serves the company that runs it. A folder of files serves whoever owns the computer, today and in twenty years. It also means there is no account to create: there is no central list of users to be on, so you install Synomy and start writing.

The trade-off is that your computer is now where your notes live. Synomy keeps a history for every page and a trash for deleted ones, so mistakes are easy to undo, but a lost laptop is a different matter. Today that’s what your usual backup is for. It won’t stay that way: backups are on our roadmap, and they will work the same way as the social cloud described further down, kept on other people’s computers instead of ours.

Your identity is a key

No accounts raises the next question. If there’s no company that knows who everybody is, how do two computers know they can trust each other? The answer is cryptography, and the idea behind it is one of the most elegant in computing. The first time Synomy starts, your computer makes a pair of keys. One half is public and can be shared with anyone. The other half is secret and never leaves your computer. Your identity simply is that key. When you add a friend, you exchange a short code and your computers swap their public halves, and from then on they recognise each other without asking anyone in between.

Every time two computers connect, each proves it holds its secret half, and together they agree on a fresh key that only the two of them know. Everything they send each other is locked with it: pages, comments, files, even the individual letters of live typing. We use the same well-tested building blocks secure messengers use, because inventing your own cryptography is the software equivalent of doing your own dental work.

What I like about this is what it leaves out. There is no master key, so there is nothing we could hand over to anyone, and nothing to leak. There is no password, so there is no password reset, and no phishing email pretending to be one. Your computer now knows who your friend is and how to talk to them privately. It just has no idea yet how to reach them.

How do you call somebody else’s laptop?

This is the hardest part of the whole project, so it’s worth thinking about for a moment. A website lives on a computer with a public address that waits for visitors. Your laptop doesn’t. It sits behind your router, which lets you call out to anything you like and lets the answers back in, but turns away anybody who knocks without being asked. Your friend’s router does exactly the same. Some internet providers add a second router of their own in front, and campus and office networks often go further and stop computers on the same Wi-Fi from talking to each other at all. So you have two computers that know and trust each other, both happily online, and neither can call the other. How would you solve that without putting a server in between?

Our answer is a ladder of ways to reach someone, tried from the best down, and you can watch it happen by hovering over a friend. When you’re on the same network, your computers simply find each other, the way a printer shows up without you typing its address. Two Macs in the same room can even talk over Wi-Fi directly, with no router involved. Across the internet, both computers ask a public introducer where the other one is, and then reach out to each other at the same moment. Each router sees its own computer calling out, so it lets the answer in, and the two end up talking directly. Almost every connection gets there in a fraction of a second.

The choice I’d defend hardest here is the rule that the introducer only introduces. It never carries a single page. The usual fix for difficult networks is to send everything through a relay server, and that would have been easy, but it would have brought back exactly the bill we set out to avoid, and a middleman that sees all the traffic go by. So if a direct connection doesn’t open, we don’t quietly fall back to a relay. We try the next rung.

Some networks refuse everything that isn’t ordinary web traffic, however you knock. For those, Synomy can go through the Tor network, which volunteers run for everybody and which such networks can’t tell apart from browsing. And when even that isn’t possible, another Synomy user who can reach both sides can pass the traffic along. Both are slower than a direct line, so Synomy climbs back to a direct route the moment one opens. Neither can read anything, because everything is locked before it leaves your computer. What a helper in the middle can see is that two computers are talking, and how much, and I’d rather say that plainly than pretend encryption hides it. That’s also why your own other computers and your friends are preferred as helpers, and strangers come last.

All of that, just to connect two laptops without anyone paying a monthly networking bill. I think it’s worth it, because it means the one thing every other part of Synomy depends on doesn’t depend on us.

Two people editing the same sentence

Connecting the computers doesn’t mean their copies of a page agree. Suppose we’re editing the same page and both change the same sentence at the same moment. Your computer sees your change first, and mine sees my change first. A normal collaboration app asks its server which change wins. We don’t have a referee. You might suggest letting the first edit win, but laptop clocks aren’t reliable witnesses, and two of them can disagree about the time by seconds. So we needed something where both computers could receive the same changes in a different order and still end up with exactly the same page.

Every change carries a timestamp of its own, and both computers run the same deterministic set of rules to puzzle the two sides together. Because those rules depend only on the changes themselves, and never on which one happened to arrive first, both computers always land on the same page without ever having to ask each other who’s right. When two people really did change the same sentence at the same moment, without seeing each other’s change, we keep both versions, one under the other. That’s less tidy than picking a winner, and that’s the point. I’d rather show you a sentence twice than silently throw away somebody’s work.

We learnt to be careful about missing information the hard way. An early version read an empty copy of a page as an instruction to delete everything, and it did exactly that. The rule now is that nothing is ever concluded from something being missing: what you wrote only disappears when somebody actually deleted it. Live sessions also keep an eye on themselves, and if two copies ever drift apart, both go back to the last version they shared and carry on from there.

What if your friend is offline?

Here’s a problem no direct connection can solve. I edit a shared page at nine in the morning while your laptop is closed. You open it at six in the evening, by which time mine is closed. We could wait until our computers happen to be on at the same time, but that might take a week. A normal notes app parks the changes on its server until you pick them up. We wanted the same convenience without owning the server.

So we built what we call the social cloud. When your friend hasn’t picked up your changes, Synomy locks them up and leaves them with a few other computers: your own other devices first, then your friends, then other Synomy users who chose to take part. When your friend comes back, their computer collects what was waiting, and the copies are deleted. It works a bit like a street where everybody takes in each other’s parcels, except the parcels are locked, carry no name, and destroy themselves after a while.

Leaving your notes on a stranger’s computer sounds alarming, so it’s worth saying why it isn’t. The holder can’t read what it keeps, can’t tell whose it is or who it’s for, and can’t swap it for something else or throw it away early, because only you and your friend hold the key that would allow it. And it’s a fair trade: if you take part, your computer keeps a little room for others, the way theirs keeps room for you. Every part of this is your choice. Holding for strangers is off until you say yes, and each piece of the social cloud, from who holds for you to how much room you lend, will be a setting of its own.

Today the social cloud carries changes on their way to someone. The same idea is where backups are heading: a future version will keep a locked copy of your notes with your own devices and people you trust, so a lost laptop stops being a lost notebook, still without a server of ours anywhere. The social cloud already makes invite links work, too. You can drop a link to a page in a group chat and close your laptop, and people can still join while you’re away. Even our own website, where the link opens, never sees who invited whom.

The heavy lifting stays home

Some features don’t need other computers at all, just a lot of computing, which is exactly what services charge for by the minute. Transcription is the classic. Most apps upload your recording and rent a graphics card to type it out, so it ends up as the feature behind the paywall. Synomy downloads the models once and does the work on your own computer, telling the speakers apart as well, and the sound never leaves it. Search is the same story. Finding the page you called “Saturday plans” when you search for “dinner at Marco’s” means something has to understand what your notes mean, and usually that something reads all of them on somebody else’s server. In Synomy a small model on your own computer does that reading, and what it learns stays in your folder.

I’d defend this on two counts. It’s free to run, because there’s no meter anywhere. And it’s private by construction rather than by promise: nobody can mine recordings they never received. Files work the same way. They go straight from one friend to the other, of any size, because there is nothing in between to set a limit, and a transfer that gets interrupted carries on where it stopped.

There’s one exception, and it’s a choice you make. A written summary of a meeting, with the decisions and the to-dos, needs a bigger AI model than fits comfortably on a laptop today. So Synomy lets you plug in your own AI service, with a key of your own, and some of those services are free to start with. Bring your own hardware, bring your own cloud, and if you like, bring your own AI. It’s the only place where Synomy sends your words to a company, it only sends the transcript, and only once you’ve set it up.

Where this goes

Notes are the first chapter. The network that carries your pages already carries comments and files, and photos, posts and calls could travel the same way, between people who chose each other, with nobody in the middle. Backups through the social cloud are on that list too. I’m not putting dates on any of it, but the network is already built for it.

It also means Synomy doesn’t need us to keep working. If we stopped tomorrow, your notes would still be files, the app never asks a server for permission to run, and your friends’ computers are the network. The only thing that would stop is new versions. That’s what I like most about building it this way. There’s no business model to protect, because there was never a cost to cover.

Questions, or a better idea than ours? Tell us on Discord.

The short answers are in the docs.

Download Synomy, free