$7.5M in revenue. 250,000+ parcels a year. More than ten countries. A team of six. Total IT cost: just over $35 a month. This is how.
Your company is one of the weird ones. You believe that incentives dictate results. So ask the obvious question: what are the incentives of the companies that build the tools most other companies run on? Are they aligned with yours?
This playbook is for business owners and managers who trust their people and know they are capable of learning things. SaaS turned "easy to use" and "no training necessary" into headline features. We disagree with that whole train of thought. We are happy to use more complex and more powerful tools when they deliver outsized returns, and we trust our people to learn things that were not engineered for a child to operate. Sometimes a learning curve is the price of a powerful tool. This playbook is for the companies willing to pay it.
We are not selling minimalism for its own sake. We run a real business on this stack. La Nao does about $7.5M of revenue a year, ships between 250,000 and 300,000 parcels into more than ten countries on two continents, and buys from manufacturers in seven countries across three continents. The team is six people in three time zones. Our IT infrastructure costs just over $35 a month.
The money is not the real win. The real win is time and focus. The tools we use have no sexy animations engineered to pull you back in. They are utilitarian by design, which means we use them to get a thing done and then we stop using them. And because they are asynchronous by nature, everyone on the team does their work when they are at their best, on their own rhythm. The tools help with that. So does the way we organised the company, but that is a subject for another day.
By the end of this playbook you will have a clear blueprint that: (1) shows you how to set up the exact infrastructure we use; (2) explains how each tool works and how to get the most out of it; (3) makes the case for why this set of tools saves money, time, and focus; and (4) for those who want it, shows how an open-standards stack makes AI dramatically easier to put to work.
A note on honesty, up front: this is not for everyone. Setting it up takes a few focused days, not a specialist. You also have to teach your team, which means trusting them to learn tools that were not built to be "intuitive." If your edge is staying lean and protecting your margins, this stack will serve you for years. If you need enterprise SSO, a compliance department's blessing, or something that impresses an investor in a diligence call, this is probably not your moment. We would rather tell you that now than take your money and have you discover it in chapter four.
If you read nothing else, read this. Each row is a job to be done, the tool we use for it, and the chapter that shows you how.
| The job | What most companies buy | What we use instead | Ch. |
|---|---|---|---|
| Communication & decisions | Slack | Email, used with discipline | 01 |
| Company memory & wiki-by-thread | Slack history, Notion | Mailing lists (groups.io) | 02 |
| Shared files | Dropbox, Google Drive | Managed Nextcloud (Hetzner) | 03 |
| Passwords & secrets | 1Password, LastPass | KeePassXC on shared files | 04 |
| Project & task tracking | Asana, Monday | A spreadsheet (the Situation Room) | 05 |
| SOPs & documentation | Notion, Confluence | DokuWiki (plain text on disk) | 06 |
| Quick, throwaway chat | WhatsApp, Slack DMs | Delta Chat with auto-delete | 07 |
| AI on your own data | Per-seat AI add-ons | Local scripts over mail & files | 08 |
| Monthly total | ~$417 | ~$52 |
The $417 figure is a conservative monthly estimate for a ten-person team across the SaaS column. Our $52 is the real bill, detailed line by line in chapter ten. The point of this table is not the saving. It is that one column was designed to maximise your engagement and the other was designed to get out of your way.
Everything else in this playbook hangs off email. Get this right and the rest falls into place. Get it wrong and no tool will save you.
Who hosts your email is a real decision in terms of money, but in the end it is the same tool no matter who you use. We recommend Purelymail for three reasons. They stick to email standards strictly. They charge pay-as-you-go, so if you have a larger team with a few people who barely touch email, you pay almost nothing for them: a team of ten heavy users runs about $10 a month. And they have been around since 2018. A good alternative is Migadu, around since 2014. Their pricing is a little more involved but the service is excellent.
We are still on Google Workspace, because people like Gmail too much and we let that win. If we were starting again we would move to Purelymail from day one. Google's slow creep of AI canned replies and emoji reactions into email has come back to bite us. Learn from our dependency. Start clean.
sales-robot@example.com. The address tells the reader who, or what, wrote the message.feedback@ and customers@ so we can keep the same address on our product boxes without stamping a person's name on them.This is the part nobody wants to hear and the part that matters most. Email without etiquette becomes a swamp. With it, email scales to run an entire company. The Linux kernel coordinates thousands of contributors over plain email, and the only reason that works is that they are deadly serious about etiquette and let no one slide.
To: means something different from Cc:. To: means you are aiming the water gun at them. Cc: means you would just like them to get splashed.Three more that earn their place once you are past the basics:
Etiquette only holds if the team polices the team. Not as bureaucracy, as a shared standard people actually care about. A gentle public "mind the top-post" in a thread does more than any policy document. Here is the kernel community doing exactly that, recently and without ceremony.
Pick a standards-respecting host (Purelymail), give every human one address, and treat etiquette as non-negotiable infrastructure. The discipline is the product. The software is just plumbing.
This is our favourite part of the setup. Mailing lists are powerful precisely because they are such a simple primitive. They adapt to an astonishing range of situations, and they turn day-to-day conversation into a permanent, searchable record without anyone doing extra work.
We are on Google Groups today, because we are on Google for email. We recommend groups.io instead: it has more features than you will ever need and is genuinely easy to use. Start on their free plan. The limit you will eventually hit is the 1 GB storage cap. When you do, it is $20 a month for effectively everything you will ever want.
We began with a single group that included the whole company. After about a month it became obvious that one product line generated discussion unrelated to everything else, so we split it onto its own list. That is the right order of operations: start with one, and let real friction tell you when to divide.
A common shape for an e-commerce business past ten people is two lists: one like platforms@ for listings, product, and marketing, and one like purchasing@ for manufacturers, freight forwarders, and 3PLs. Once you have lived with lists for a couple of months and know what is genuinely useful to you, add more. Not before.
First, a mindset point the whole team needs: the lists are not only for internal chatter. Your external partners will post into them too, and that is a large part of the value. A supplier's reply landing in the archive is company memory you did not have to file.
1 post. After you approve an external sender once, they post automatically from then on.Net effect: your team posts and reads freely. External parties email in, queue once for approval, then post automatically forever, and never see your history.
People must always reply-all. A reply that drops the list is a memory that never got written. This is the mailing-list equivalent of no-top-posting, and it deserves the same seriousness.
One list to start. Let externals post but not read. Reply-all, always. You are not "using a mailing list," you are writing the company's memory as a side effect of doing your work.
Nextcloud is powerful software and notoriously fiddly to self-host. So we don't. We let professionals run it and we get the ownership of self-hosting with none of the maintenance.
We use Hetzner's Storage Share, which is managed Nextcloud. We are on the NX11 plan: 1 TB for €4.29 a month, unlimited users. It scales to 10 TB. You can order it bare, or route a subdomain to it so your files live at something like nc.example.com. Hetzner keeps the software stable, the servers up, and runs daily backups of the entire file system. This is not hobby software: it is used by the German federal government, the French Ministry of the Interior, the Sorbonne, and Deutsche Telekom, among others.
This is particular to every business, so we will not hand you ours and pretend it fits. The one rule worth stating: structure for the new hire who has never seen it, not for the person who built it. If a folder name needs explaining, rename the folder.
The admin panel is where a managed Nextcloud quietly beats consumer file sync:
We use version history for exactly one thing: saving ourselves from ourselves. It is the undo button for a file someone overwrote.
External sharing is where it gets genuinely useful. We set public links to expire automatically after six months, so nothing stays open forever by accident. And we lean on the file request share type constantly: you send a client or a manufacturer a link, they cannot see anything in the folder, all they can do is drop files into it. It is the cleanest way to collect documents from someone outside the company.
Buy managed Nextcloud, not a Dropbox seat. You get ownership, daily backups, real admin controls, and no per-user bill, while someone else handles the part that is genuinely hard to run.
Your passwords should not live on someone else's server behind a subscription. KeePassXC keeps them in an encrypted file that you own, that syncs with the file system you already have, and that costs nothing per user, ever.
We keep one folder at the root of our shared files that everyone can reach. Inside it, a vault per department and a folder of personal vaults:
safe
├── accounting.kdbx
├── admin.kdbx
├── logistics.kdbx
└── personal
├── claire.kdbx
├── john.kdbx
└── mary.kdbx
To weave shared credentials into each person's own database, use KeePassXC's KeeShare feature. It is not strictly necessary: you can simply keep several files with different passwords. But KeeShare lets the logistics vault, say, appear inside a logistics person's personal database automatically, which is a real convenience once you are past a handful of people.
All of them live in Nextcloud. When someone leaves, you email them their personal file and delete it from the shared folders. These files are tiny: one of ours holds hundreds of passwords and is under 500 KB.
New people are terrified of breaking the password vault. Tell them plainly: every file is backed up, with version history. They cannot break anything. If something looks wrong, they can open the vault's version history themselves and roll back to a previous copy.
.kdbx file in Nextcloud. Every save is recoverable. This screenshot, shown to a nervous new hire, removes most of the fear.KeePassXC's documentation is excellent, and this video is a good tour of the advanced features when you are ready for them.
An encrypted file on your own shared drive beats a per-seat password subscription. Department vaults, personal vaults, KeeShare to tie them together, and a backup story you can show people so they stop being afraid of it.
Mailing lists have one weakness: a thread has no status. It is either in your inbox or it is not. The Situation Room is the small, deliberate fix for that, and it is nothing more than a spreadsheet.
This problem is not new. The Linux kernel hit it years ago and built a tool called Patchwork that reads the whole mailing list, picks out the messages containing patches, and tracks the status of each one so a maintainer never loses a thread just because it went quiet for a while. We needed something like that, far simpler. So we built the Situation Room: a single spreadsheet listing the things currently in flight. It can be a Google Sheet, or an .ods file living in Nextcloud. The tool does not matter. The discipline does.
The flow is simple. When an email thread turns into something that needs real work, or needs you to wait on an outside party, you add a line to the Situation Room. Our columns are deliberately plain:
| Column | What goes in it |
|---|---|
| Date | When the item was opened. |
| Owner | The person responsible for getting it past the finish line. Not necessarily the person doing the work. |
| Description | What the item actually is, in a sentence. |
| Closure Date | When it was resolved, or the target. |
| Comments | The running status. The most recent note at the top, dated. |
| Reference 1–3 | A link to the archived thread, or just the thread's subject line pasted in. Three columns because, in real life, one project sometimes sprawls across several threads. Not ideal, but life is messy. |
An owner is the person responsible for making sure everyone does their part and the thing crosses the finish line. They are not necessarily the one who does most of the work. Confusing those two is how items stall with everyone assuming someone else has it.
Everyone looks at this file several times a day, and it changes every single day. We do not use it to run meetings. We have very few meetings, and when we do meet it is about one specific topic, not a march through the backlog. For something as simple as a status update, a well-written email is almost always enough.
Build a tool that serves you, not one you serve. Keep it simple. The moment the Situation Room needs a manual, you have overbuilt it.
A ready-to-use situation-room-template.ods, filled with realistic example rows you can clear out, is included in the toolkit. See the final section.
A spreadsheet gives your email threads the one thing they lack: status. Owner, description, a dated running comment, and a link back to the thread. That is the entire system, and its simplicity is the point.
Some things need to be carved in stone, not discussed in a thread. For those, you want a wiki. We use DokuWiki, and we will be honest about where we compromised.
This is the one place in the stack where we are less minimal than we could be, and we half regret it. We would have loved a wiki that was just markdown files under Git version control. Two things stopped us. First, Git defeats even programmers often enough that we did not want to spend our lives debugging broken repositories for the sake of a wiki. Second, DokuWiki already existed and gave us most of what we wanted:
wiki.example.com.public_html (already there), add a site folder and a wiki folder.wiki folder via WebFTP.wiki folder.wiki.yourdomain.com/install.php and follow the admin setup. This is where you configure access permissions.yourdomain.com and wiki.yourdomain.com (Hetzner's SSL guide).wiki folder you made, and that subdomain now serves DokuWiki.DokuWiki's permissions are powerful, but think hard before you use them to lock people out. We give the whole team full access, and even in a larger company we struggle to see why you would restrict the wiki. It is not where secrets belong. Secrets go in KeePassXC. The wiki is where shared understanding lives, and shared understanding should be shared.
We have under 100 pages and do not expect more than 300 in five years. At that volume, search is good enough that namespaces barely matter. For most companies, fussing over namespace hierarchy is premature optimisation. If your project genuinely needs deep structure, you already know enough about wikis to design it yourself.
The wiki is for things you want carved in stone: stable, important, and worth getting exactly right for everyone. Two good examples:
A sidebar layout in DokuWiki format, and an example AI-use policy, are both in the toolkit. See the final section.
DokuWiki gives you a plain-text, database-free knowledge base on hosting you already pay for, that AI can read whole. Keep it open to everyone, do not over-engineer namespaces, and reserve it for the things that should not change often.
Delta Chat is a lighter version of WhatsApp: it does everything genuinely necessary very well, and none of the gamification we do not want. Remember the goal here is to chat as little as possible.
Delta Chat runs on email underneath, so it fits the rest of the stack naturally, and it has one feature we consider non-negotiable: a short auto-delete timer on conversations. That single setting is what keeps chat in its lane. It also has a genuinely powerful trick up its sleeve: webxdc apps, small applications that run inside any chat. We use them to live-edit small documents on the fly. There are hundreds of them. You do not need to be paranoid about which ones you run or who wrote them, because these apps cannot reach the internet at all. They can only exchange messages with the other people in the chat they live in. It is also a perfect place to have an AI build a small bespoke tool for your team when you want one.
If you choose a different tool, fine, but it must let you set a very short deletion timer on conversations, like one week. That timer is the whole point. Anything worth remembering belongs in email, where it becomes part of the company memory. Chat is for the things that are not worth keeping.
Two moves. First, set auto-delete to one week, or even shorter. We would honestly try one hour. Second, when someone sends a message that should have been an email, say so, lightly, in the chat: "we won't be happy when this disappears in a few days, let's move to email." The disappearing messages do the teaching for you.
Use a chat tool that forgets on purpose. Delta Chat with a short auto-delete timer keeps quick questions quick and pushes anything that matters back onto email, where it should live.
Here is the payoff that most people miss. Every AI tool on the market is straining to "integrate" with your SaaS stack: APIs, paid tiers, your data routed through someone else's servers. When your company already runs on plain text, that whole problem evaporates. AI works directly on your data, locally, with no middleman.
Our understanding may be limited, but as we see it, MCP servers are useful for injecting only the relevant slice of information into a model's context at a given moment, the situation where you do not want the AI taking action for you. For now, our AI workflows use only our email as context, and instead of an MCP to search it, we use notmuch to build very precise search queries in advance and inject only the relevant context. It is a different shape of solution for a focused job.
Once a week, an email goes to the whole team with the big topics of the week, the progress made, and what matters for the week ahead. It is generated by a small set of Python scripts that pull the week's email and the Situation Room, load the last few reports for long-term context, send it all to a model, and email a draft back for a human to check before it goes out.
The scripts are included in full in the toolkit. They are worth reading even if you never run them, because they show something a SaaS product's setup never will: pages of custom search terms and bespoke logic shaped entirely around how our company actually works. That is what becomes possible when your data is just files and plain text.
Because everything is a file, the context sources are open-ended. Two we are adding:
find command lists what changed, and can even pull small files of the right type straight into context..ics file.For now, AI takes no action without supervision. The weekly recap sends a draft for a human to verify before anything is fired off to the team. We also keep a written AI-use policy in the wiki, evolving slowly, and an example version of it is in the toolkit. Its spine is simple:
Open standards are not just cheaper, they are the thing that makes AI genuinely useful on your own data. Plain text and flat files mean a model can work directly, locally, with no integration and no subscription. As models get better at holding context, this advantage only compounds.
The tools are the easy part. Whether this works comes down to how you introduce it to people. Here is exactly how we did it.
Pick someone slightly technical. The tools rarely break, but when something does come up, this is the person who can ask an AI model or search their way to understanding the problem and then explain the fix to the team. Crucially, they should answer every question with a video or a written note that is easy to find later, because the same questions come up again and again. At our scale, maintaining the whole stack takes the stack owner no more than two hours a month.
We tried GitLab, Basecamp, and Google Docs before we landed here. We wish we had read this playbook and skipped the detours. Three lessons stand out:
Record videos, send one clear email per tool, give two weeks of hands-on, then meet once to resolve the friction. Name a stack owner who documents every answer. Switch everything at once. The rollout is where this stack is won or lost.
No hand-waving. Here is the real monthly bill, the real maintenance load, and the one thing that has actually given us trouble in two years of running this.
| Service | Monthly | Notes |
|---|---|---|
| Storage Share, 1 TB (Nextcloud) | $5 | Files, backups, unlimited users |
| Purelymail | $25 | ~10 people using email heavily |
| Hetzner webhosting | $2 | DokuWiki and the website |
| groups.io | $20 | Free if you use Google Groups instead |
| Total | $52 | $32 with Google Groups |
That is the whole stack for a company doing $7.5M a year. Drop the mailing list down to a free Google Group and you are at $32 a month. We think groups.io is worth the difference, but the option is yours.
Nothing here truly needs touching. Every service in the stack is run by professionals. Most "maintenance" is just helping a team member sort out an error on their own machine. All told, it is about two hours a month for the stack owner.
In about two years, exactly one thing has been a recurring nuisance: the Nextcloud desktop sync client. The software works well, but every so often it needs a restart to start syncing again. We solved it the same way we solve most things, with a short video showing people two things:
Everything else has run without drama. We have noticed no meaningful downtime. Hetzner warns us before they do maintenance, and we have never once been affected by it.
About $52 a month, about two hours of upkeep, and one mildly annoying sync client that a single video defuses. That is the true running cost of replacing a $400-a-month SaaS stack.
This playbook is built on real working files, sanitised of our company's data and ready for you to adapt. They come with the toolkit: one zip with everything below, plus this book as a PDF and a self-contained offline HTML file. $249, one payment, future editions included.
| File | What it is | Ch. |
|---|---|---|
| situation-room-template.ods | The project-tracking spreadsheet, with realistic example rows to clear out | 05 |
| toolkit/ai-weekly-report/ | The full Python scripts that generate and send our weekly AI recap | 08 |
| ai-policy-example.txt | Our AI-use policy, in DokuWiki format, ready to paste into your wiki | 08 |
| dokuwiki-sidebar.txt | A starting sidebar layout in DokuWiki format | 06 |
| keepassxc-vault-structure.txt | The department / personal vault layout as a starting point | 04 |
| dns-records-example.txt | An example walkthrough of the DNS records an email host asks you to set | 01 |
Read profiles.py first: it ships with a general team recap and two example per-person reports (alice and bob). Copy a person block, change the name and addresses, and you have a new profile. generate_report.py holds the prompts you will want to tune. The scripts assume notmuch for mail and the Claude CLI for the model, both noted inline.
This playbook is the blueprint. If you want the conversation, a small list of operators running their companies this way share configurations, templates, and what they have learned at standardit.org. And if you would rather have it set up for you, with the keys handed over at the end so you own everything, that is something we do for a few companies a year. The site explains how to ask.
You've read it
The toolkit has the working files: the Situation Room spreadsheet, the AI scripts, the configs, plus the book as a PDF and offline HTML. One payment, $249, single-company licence, 60-day refund with no questions asked. Or we install the whole stack and hand you the keys, so you own everything.
Buy the toolkit · $249 Have us build it · $5,000