The feature you came for, locked

You download an app to do one thing, and that exact thing is the part behind the paywall. Here's the fair case for charging money, and where this specific pattern crosses a line.

By Josh · Updated July 10, 2026

There’s a specific move I want to talk about, because it’s the one that bothers me most and the one I see everywhere.

You search for an app to do a single, clear job. Remove a background, convert a file, split a PDF. You find one. It looks right. You download it, you bring in your file, you press the button, and the button is the paywall. The thing the app is for, the thing its whole store listing promised, is the thing you can’t do without a subscription. Often the price isn’t even shown until you’re standing right in front of the locked door, file in hand.

The fair version of why this exists

Let me defend the fair part first, because there is one, and I don’t want to be cheap about it.

Charging money for software is completely legitimate. Building a good tool is real work, maintaining it is real work, and “pay the person who made the useful thing” is the cleanest arrangement there is. Cleaner than ads, cleaner than harvesting data, cleaner than a sign-up wall. A paid app with a clear price up front is often the most respectful option on the menu. I have no quarrel with paid software. I have a quarrel with one particular way of selling it.

There’s even a fair version of the free trial. Letting people experience the real thing before they pay is reasonable. “Try it, then decide” is a fine deal when it’s actually offered.

Where it stops being for you

The line is crossed when the paywall is built to extract a decision instead of inform one.

A trial says: here’s the thing working, now choose. The pattern I’m describing does the opposite. It withholds the core function until you’ve spent your effort (found the app, learned it, imported your file, formed the intention) and then shows you the price at the exact moment quitting feels like a waste. That’s not pricing. That’s pressure manufactured out of your own sunk effort. The listing implied the app does the job; the app does the job of getting you to the paywall.

You can usually feel the tells. The price hidden until the last screen. The “free” that turns out to mean “watch it almost work.” The annual plan pre-selected and the cancel link nowhere near the buy button. None of that is the behavior of someone confident the tool is worth the money. It’s the behavior of someone who measured when you’re least able to say no and built the app around that moment.

And, same as everywhere else in this series, this mostly isn’t a villain at a whiteboard. Conversion is the number the team gets graded on, and “show the wall later, when they’re committed” reliably moves it. Each tweak is individually defensible. The sum is an app designed against the person using it.

What I do instead

There’s no locked core feature in my apps. The thing the app is for is the thing the app does, free, the first time, with no feature held back. The whole app is the whole app.

The economics are worth stating plainly rather than pretending they don’t exist. This works because the apps are tightly scoped and don’t have servers behind them, so they cost very little to keep alive. If an app ever has a real, ongoing cost (a service it truly depends on) it might cost money, and if it does I’ll say so up front, before you’ve spent any effort, and the charge will cover that real cost. It won’t be a toll on the feature you came for. There’s also a “buy me a coffee” link. It’s an offer with no lock behind it. Pay it or don’t; the app is exactly the same either way.

That choice costs me the most reliable money-making mechanism in the business, and I know it. I’ll take the trade.

Everything is open source. “There is no hidden paywall and the core feature is genuinely free” isn’t a promise you have to believe. It’s something you can open the code and check, with my name on it.