You know that saying about when the mountain won’t come to Mohammed?


(And What I Learned About Self-Hosting Today)

You know that saying about when the mountain won’t come to Mohammed?

Well, last week for one day, neither of them moved. The mountain stayed put. Mohammed stayed put. And I went into a mini meltdown.

Let me explain.


The Setup

I’ve got a website. It went live last week, or rather it was supposed to. Turns out “live” is doing some heavy lifting there. The site existed, people could see it, but it was as much use as an ashtray on a motorbike, certainly not what it should have been.

I had another mate knock me up something really quickly for a summit I was attending, but the email form? That was going precisely nowhere.

I thought it was all in hand, I explained in a previous article, the truth was it wasn’t.

The deadline on the website says “£27 until 19 April, £47 after.” It’s now 21 April. That ship has sailed without me on it.

So here I am, shattered from a full day of work, staring at a website that’s technically operational but functionally useless, thinking: right. Time to fix this myself, sometimes you have to turn adversity into a learning experience, and being the stubborn Aquarian that I am, when backed into a corner. I come out fighting, or in this case learning.

The Email Marathon (Or: 90 Minutes I’ll Never Get Back)

First task: create [email protected]. Professional. Purpose-built. The email address my newsletter will come FROM.

Should take five minutes, right?

Wrong.

Turns out there’s a difference between:

  • The control panel (where you CREATE email addresses)
  • The webmail interface (where you READ email)
  • The email client settings (where you ADD accounts)

I did not know this.

So I spent an hour and a half trying to add an email address that didn’t exist to a webmail client that couldn’t possibly show it because I hadn’t actually created the mailbox in the control panel yet.

Classic.

Claude (my AI assistant, bless him) kept asking me to describe what I was seeing. I kept screenshotting increasingly unhelpful error messages. Eventually I just went back to basics: logged into the actual control panel, clicked “Create Email Address,” set a password, and waited.

Ten minutes later, the mailbox appeared.

Teaching point: When in doubt, start at the beginning. Not the middle, and don’t keep doing the same thing, take a step back and start again. Oh and don’t take what Claude says as gospel either, but more on that in another article!


The Self-Hosting Question

Now I’ve got the email address, I need somewhere to actually capture emails from the website form.

Options:

  1. Systeme.io FREE tier - £0/month, operational TODAY, but you’re locked to their platform
  2. Self-hosted stack (Coolify + Listmonk + PostgreSQL + Redis) - £6-8/month, takes two weeks to set up, full control forever
  3. ConvertKit - £30/month, nice interface, still locked to their platform

Here’s the thing about platform independence: it sounds like a luxury until you realise it’s the entire bloody point of what I teach.

contAIn is a methodology about YOU being the layer that directs AI. Not the platform, not a tool or series of tools either. YOU.

So when I’m teaching “don’t lock yourself into one system,” and then I go and lock myself into ConvertKit because it’s easier… that’s not practising what I’m preaching, is it?

But here’s the rub: I’m exhausted. The website’s half-broken. The course content isn’t finished, and tomorrow I’ve got a full day on another project with zero wiggle room.

Do I spend two weeks learning to self-host, or do I just get the damn thing operational so I can test whether anyone actually wants what I’m doing?


The Decision (Or: Sometimes Pragmatism Beats Principle)

I went with Systeme.io FREE.

For now.

Here’s why: I can be operational quickly. Zero cost, and when the course content is actually finished (currently rewriting AGAIN because Claude munched it all on Friday), I can migrate to the self-hosted stack.

Total savings Year 1 vs staying on ConvertKit: £1,008.

That’s not nothing.

Teaching point: Platform independence doesn’t mean you build everything from scratch on Day 1. It means you build with migration in mind. Systeme.io lets me export my contacts as CSV. When I’m ready to move, I move, the data comes with me.

That’s the principle in action, even if it’s not perfect.


What Not Getting The Website Done Externally Actually Taught Me

Here’s the funny bit.

Having a useless website was actually a blessing in disguise, it forced me to actually understand the architecture I’m building on. If it had gone as expected, I’d have nodded along, said “great, thanks,” and never learned where the domain control panel is or how SMTP settings work or what the hell a “provisioning delay” means.

Instead, I spent 90 minutes in the trenches and came out the other side knowing EXACTLY how my email infrastructure works.

I can troubleshoot it now. I can make decisions about whether to migrate or stay put because I actually understand what I’d be migrating FROM.

That’s the contAIn principle in motion.

You don’t need to code, and you don’t need to be technical. But you DO need to understand the system well enough to direct it, and sometimes the best way to learn that is when you are forced to do it for yourself.


The Mountain, Mohammed, and Me

So neither the mountain nor Mohammed moved last week.

The website’s still got a lapsed deadline on it, looks like a dogs dinner, and the form still goes nowhere (fixing all that this week). Claude chat was quite helpful, code froze awhile installing Skills MCP and I had to reboot the whole bloody thing (deferring that to a dedicated session when I’m not shattered).

But I made a decision about email architecture that saves me a grand this year. I created the email address I need, set up the account and learned how my infrastructure actually works.

And I wrote this instead of going to bed, because this IS the content.

This is what it looks like when you’re building something real. It’s not smooth, it’s not Instagram-polished. It’s 90-minute marathons to create an email address arguing with an LLM that goes off piste and computers that freeze at precisely the wrong moment.

But you keep going.

Because the mountain doesn’t move. Mohammed doesn’t move. But the work gets done anyway, one stubborn decision at a time.


What I Actually Learned About Self-Hosting (The Useful Bit)

If you’re thinking about self-hosting anything - newsletter platform, website, CRM, whatever, here’s what today taught me:

1. Operational beats perfect. Self-hosted is lovely in theory, but if you can’t actually operate it yet, it’s not independence. It’s just infrastructure you don’t understand.

2. Migration is the real test. The question isn’t “which platform?” It’s “can I leave this platform when I’m ready?” If the answer is yes (CSV export, API access, documented process), you’re independent even while you’re using it.

3. Learn the stack by building it yourself. Even if you hire someone to set it up eventually, do it yourself first. Badly. Just once. You’ll learn more in 90 minutes of fumbling than you would in 90 hours of watching someone else do it smoothly.

4. Start simple, scale smart. Systeme.io today. Self-hosted in the next month. Because quite simply I don’t have the bandwith to do anymore today. I’m doing it single handedly, project management style, necessary items first, icing later.

5. Platform independence is a strategy, not a status. You’re not “independent” or “locked in.” You’re building WITH an exit plan or building WITHOUT one. That’s the distinction that matters.


The Conclusion

I teach a methodology called contAIn. It’s about being the layer that directs AI, so that every tool, platform, application or agent you use works toward the outcome YOU define.

Today I spent five hours proving the methodology works.

Not by building something polished, and certainly not by launching something perfect. But by making a decision that I needed to be able to control my stack, all of it. Learning my infrastructure when things broke, and choosing the path that gets me operational while keeping the exit door unlocked.

That’s what it looks like.

The mountain didn’t move. Mohammed didn’t move.

But I’ve got an email address, signed up to a platform and got one skill, but I made a decision, and that will lead to a system I actually understand, and can change when I want to change it, I dont have to ask or wait.

Tomorrow I’ll tackle a completely different project, and hope everything I have learnt today doesn’t evaporate overnight like Claude’s memory. Now I’m going to bed.

Just to say, if you’re building something and it feels like nothing’s moving.

You’re probably doing it right.

Keep going.

Sam


configure YOUR system. contAIn™ the chaos. control YOUR outcome.


P.S. If you want to know what contAIn is the website’s at contain.digital. The form doesn’t work yet, but I’ll fix that when I’m not shattered.

P.P.S. If you get let down, just know: you’re more resourceful than you think. Sometimes that’s the lesson you actually need.


This article was originally published on Substack.