Lee Painter Music for the Soul. Code for the Bowl.

Think Log

A change log for the things I built, changed, removed, noticed or started questioning.

25 September 2026

I’ve recently found myself on both sides of the same administrative problem.

As a supplier, I’m being asked to navigate customer procurement systems, complete forms and deal with questions about withholding tax.

As a customer, I’m waiting for a software company to process my request to buy something.

Different organisations. Different systems. Same underlying problem.

The outcome is straightforward, but getting there requires somebody outside the organisation to understand and operate its internal processes.

We’ve become very good at building systems around how organisations work.

Perhaps we should spend more time thinking about how people actually get things done.

The customer shouldn’t need to understand your organisation to do business with it.

24 September 2026

We’ve been running some modest paid campaigns for our software and our Workshop content.

The Workshop campaigns are generating considerably more engagement than the product introductions.

Even when we restricted the audience to the UK, Ireland, US and Canada, the difference remained substantial.

That’s interesting.

Perhaps people aren’t particularly interested in another company telling them about another piece of software.

But they might be interested in the problem you’re trying to solve, why you think it matters, and what you’ve learned while trying to solve it.

Of course, engagement isn’t adoption. It certainly isn’t revenue.

But perhaps the first thing people need to buy into isn’t the software.

It’s why you built it.

23 September 2026

Before I went away, I delivered the new activation server for our products.

The expectation was that the updated product builds would be ready and talking to it by the time I returned.

I even predicted they probably wouldn’t be.

And here we are.

One unexpected consequence of working extensively with AI agents is how accustomed I’ve become to the speed of the feedback loop. Specify an outcome, review the plan, implement, test, correct, repeat.

It doesn’t always work first time. Sometimes it makes a complete mess. But the next iteration can begin almost immediately.

Once you’re used to that, ordinary organisational latency becomes painfully visible.

If only my employees were agentic.

22 September 2026

I’ve been trying to give Docker money to become a verified publisher.

You’d think that would be a relatively straightforward commercial transaction. I want to buy something. They want to sell something.

Instead, I’ve found myself waiting for responses and trying to understand what needs to happen next.

It’s another reminder that a business can have all the systems in the world and still leave its customer wondering what’s going on.

If there’s a problem, tell me what it is. If something needs checking, tell me what’s being checked. If I need to do something, tell me what.

Don’t make me operate your internal process just to buy your product.

Computer says no. Computer declines to elaborate.

21 September 2026

I put my latest article through two AI detectors.

GPTZero said it was 90% AI. Scribbr said it was 99% human.

They’re looking at exactly the same words.

The funny thing is, I’ve already told everyone AI helped me write it. That’s rather the point of the article.

What neither detector can tell you is where the observations came from, who developed the argument, who challenged it, who corrected it, or who ultimately decided what it said.

They can make guesses about the prose. They can’t establish the provenance of the thought.

Maybe authorship isn’t detectable in the text anymore.

18 September 2026

Sometimes the best validation for monetisation is somebody asking you to monetise.

It’s tempting when building a new product to design the pricing at the same time.

Plans. Tiers. Limits. Checkout. Subscriptions.

But there’s another approach.

Build something useful first.

Let people use it.

Then listen for the question:

“How do I pay for this?”

Or even better:

“How can I make money through this?”

Those questions tell you something no pricing spreadsheet can.

Sometimes demand for monetisation is more valuable than monetisation itself.

17 September 2026

The product can recruit the people who will build the product.

I’m getting close to putting Fans.audio in front of its first small group of musicians.

Initially I was thinking about the normal recruitment process.

Post somewhere.

Explain the idea.

Get people to apply.

Choose a few.

Then I realised something.

Fans.audio already contains the mechanism I need.

Create a transmission explaining what we’re building.

Let musicians discover it through the product.

Let them respond through the product.

Use the product to recruit the people who will help me discover what the product needs to become.

That’s dogfooding before they’ve even started using it.

Sometimes your first useful customer journey is finding your first customers.

16 September 2026

AI finds the opportunity. Humans create the relationship.

I’ve been thinking about AI outreach.

There’s an obvious temptation to use AI to send more messages.

Find 10,000 people.

Generate 10,000 personalised introductions.

Send them.

Congratulations.

You’ve invented cheaper spam.

But AI might be incredibly useful for everything that happens before a worthwhile human interaction.

Find the right people.

Research them.

Understand why they might actually care.

Identify the signal that makes a conversation relevant.

Then let the human do the thing humans are particularly good at.

Listen.

Respond.

Change direction.

Make someone laugh.

Build trust.

Maybe the goal shouldn’t be to automate the relationship.

Automate the work required to find the relationship worth having.

This one came literally from the discussion after Hannah’s post, so it’s unquestionably new.

15 September 2026

A pull isn’t a user.

We’ve started seeing Docker pulls for some of our new free products.

Great.

Except I have absolutely no idea whether they’re users.

One pull might be someone evaluating it.

Ten pulls might be one person’s CI system.

A download might never start.

An installation might run once and disappear.

A phone-home tells me something is alive, but even that doesn’t tell me whether somebody found it useful.

It’s remarkably easy to stare at the metric you happen to have and quietly turn it into the metric you wish you had.

Activity isn’t adoption.

And adoption isn’t value.

Eventually you have to measure the behaviour you actually care about.

14 September 2026

Sometimes the friction is the business model.

Software companies spend enormous amounts of time optimising onboarding.

Reduce the number of fields.

Improve conversion.

Make the trial easier.

Streamline checkout.

But sometimes the obvious question is:

Why is any of this here?

If the software costs nothing, why do I need an account?

If there’s no trial, why do you need to know who I am?

If there are no usage limits, why are you measuring my entitlement?

Sometimes we’re trying to optimise friction that only exists because the business model required us to create it.

Remove the business model and suddenly a surprising amount of the product can disappear with it.

The best onboarding flow might be no onboarding flow at all.