⚡ Powered by Finn · Day 19 of 365
019

Admin Hell and the Thin Harness: Day 19

Here I am 19 days into starting a new service and I hit admin hell. This is the stuff I really don't like about being an early stage founder, but it's the stuff that needs to be dealt with in order to move the company forward.

My problem is mostly jurisdictional, but maybe it's not. I live in Switzerland, but have a BVI company that I've had for 20 years. Stripe won't allow me to register with a BVI company. Setting up a Swiss company is way too complicated just to have a payment gateway. I happen to be British, so I can easily set up an Ltd in the UK. So on Monday, I did that. To be frank, I'm not sure if this is exactly the right call — I don't want to cause myself tax complexities and start involving UK and Swiss tax experts. But I have no way to bill and collect from clients, and I need to do that in order to kick off the service. My bank account is running low, and so the clock is ticking.

These are the real types of problems I have right now. I want a service that is recurring but has a pause feature. The obvious answer is Stripe, as it has exactly this — a native pause_collection toggle on any subscription, no rebuilding required. But I'm now in admin hell: an account that's been flagged because of an expired US company I let go years ago, and a shiny new UK company that will require a full KYC before I can touch payouts. I despise these types of blockers.

Yesterday's Frame, Applied to My Own Problem

Yesterday I wrote about the fat-skills/thin-harness frame — Garry Tan's model for keeping the intelligent, fuzzy work in markdown skills, the deterministic work in battle-tested code, and the harness in the middle as thin as you can get away with. If you haven't read it, the short version is: don't overbuild the middle. The cleverness goes in the skills. The plumbing stays boring.

I hit admin hell this morning and my first instinct was to build something. A thin client dashboard on testventures.net — a pause toggle, a simple login, links to Trello and their docs, maybe an llms.txt for each client. I know exactly how I'd build it. Same Cloudflare Worker and D1 stack I used for my grant application app. A day, maybe two.

Then I stopped and asked the question the frame demands: is this harness work, or is this fat-code that already exists somewhere?

For two clients — which is exactly what I have right now — a Revolut payment link and a row in a spreadsheet is the harness. The pause feature is me not sending the link that month. The client portal is a Trello board I've already set up and a Loom walkthrough I've already recorded. Zero new infrastructure. Ten minutes per client per month.

The thin harness isn't always software. Sometimes it's just the simplest thing that works.

The right call here is manual Revolut invoicing for now, and getting through the UK KYC with Stripe over the next month when the dust settles. When I have five clients, the dashboard earns its build. Right now it's overhead on top of overhead — which is the exact trap yesterday's post was warning about.

The Jurisdiction Problem Is Real, Not Unique

Here's the thing they don't write about much: the first 30 days of a new service business are not a product problem. They're an admin problem. Every founder I know who has done this has a version of the same story. You've got clients. You've got a service. You don't have a clean, working entity in the right jurisdiction attached to the right payment rail, and until you do, you're collecting nothing.

The honest answer for me: the UK Ltd is probably the right call for now. It's real, it's fast to set up, it's HMRC-registered, and Stripe accepts it.

I could have spent today building a custom billing dashboard to work around the problem. Instead I'm sending a Revolut link, logging a note, and getting on with it.

Do the bare minimum until the minimum stops working. Then upgrade the harness.

A Day in the Life

I'm writing this quickly — I'm about to drive to Zermatt to drop my wife at the start.

My wife Kirsten is racing in the Patrouille des Glaciers — the long route, Zermatt to Verbier, 53 kilometres across glaciers and high alpine terrain, nearly 4,500 metres of vertical gain. Teams of three. One of the most demanding ski mountaineering races in the world, run biennially by the Swiss military, through the night and into the morning. It is not a small thing.

I'll check her team in at the start, get a hotel, and set an alarm for 4am to meet her at the halfway point with hot tea, a fresh round of energy gels, and whatever combination of encouragement feels right at that hour. Then I drive back over to Verbier for a doctor's call to get PSA blood test results, a call with the enterprise client I'm hoping to officially kick off today, and another session on the Gates Foundation grant application — deadline April 26, proposal v4 already locked, budget template still needed.

Oh, and I need to make sure the BIP posts are pre-written or automated through the weekend, because on Friday I leave for Zermatt again to race my own Patrouille. Same route — which means no BIP on Saturday morning. Need to automate that.

This is a Wednesday in April for a solopreneur running a fractional AI ops service from the Alps.

Revenue: £0. Clients: 2, not yet paid. Prospects: 5, pipeline softening because of exactly the admin hell I wrote about today.

But I'm writing my own ticket. That still counts for something.

Day 19 of 365.

← Day 018 All posts

Follow the BIP

See if this is the right fit.

15 minutes. No pitch deck. No pressure. Just a conversation about what's eating your time.

Schedule a call