05/05/2026 // Software Culture

Deshitification: Software Can Be Good Again

A practical argument for software that respects users, keeps data portable, prices itself honestly, and stops turning every workflow into a funnel.

Software gets shitty when the people making decisions stop asking what is good for the user.

That is the whole pattern. The subscription gets harder to cancel. The free tier becomes useless. The export button disappears. The app starts fitting you into its sales motion instead of fitting itself around your work. A simple tool becomes a platform. A product you used to like becomes a funnel with a login screen.

None of this is inevitable. It is a choice.

Deshitification is the opposite choice. It means building software that treats people like human beings instead of conversion events. Software should help you do the thing you came to do. It should respect your data. It should price itself honestly. It should let you leave without punishment.

This is not an argument that software should be free. Companies need to make money. Developers need to be paid. Hosting, support, security, compliance, and maintenance are real costs. But exploitation should not be required to run a business.

A small example: I recently used TurboTax and accidentally checked the premium option. I finished my taxes, then it wanted me to pay for premium. There was no clean way to downgrade to basic and keep going. I had to start over.

That is not a technical limitation. It is a record in a table.

A deshitified version would have let me downgrade. Maybe it would explain what I would lose. Maybe it would ask me to confirm. Fine. But it would not hold the whole process hostage because I clicked the wrong thing earlier.

That is the difference. Good software helps you recover from mistakes. Bad software monetizes them.

The same pattern shows up everywhere. Consumer apps add ads after people are locked in. Games turn into stores with gameplay attached. Enterprise SaaS forces a company to reshape itself around the vendor's methodology. Products charge more not because the value increased, but because the customer has no easy way out.

The worst version of this is when software prices itself based on how trapped the user is. If a company bought the competition, owns a hard domain, or sits inside a workflow that is painful to migrate away from, it can charge like the moat is the product. The user pays for lack of choice.

That is the SaaS hole we keep sliding into.

Deshitification starts with a different assumption: the user is not prey.

There should be a range of software, the same way there is a range of food. Not every meal needs to be a highly regulated, expensive, white-tablecloth experience. Sometimes you want street food: cheap, local, specific, fast, and good enough for the moment. Other times you need guarantees, compliance, support, serious security, and a team behind it.

Software should have that same range.

A small restaurant should not have to buy a giant back-office platform priced like it is a national chain. The software should fit the scale of the business. If the restaurant has lower sales volume, fewer staff, and simpler reporting needs, the product and pricing should reflect that. Charge for real value, not imagined enterprise potential.

Fair pricing is not the same as cheap pricing. It means the price makes sense for the user's reality.

Subscriptions can be fair too. JetBrains is a decent example of this. Their model does not feel like the usual hostage situation. Long-term users get continuity. Loyalty has some value. You do not feel like the company is constantly looking for the next screw to tighten.

That should be normal.

If a product is mature, stable, and already paid for by years of customers, the subscription should not automatically climb forever. Sometimes software should get cheaper over time. Sometimes the best thing a company can do is admit the product works, the core value is stable, and the user does not need to be squeezed harder every year.

Another basic rule: your data belongs to you.

Not just if you are technical. Not just if you know where to look. Not just if you read the docs and find the hidden API. Data sovereignty should be the default.

Export should be easy. Downgrading should be easy. Deleting should be easy. Migration should be treated as a normal user need, not a betrayal. No app should hold your work hostage because it can.

Identity should work the same way. Across services and platforms, people should have an identity they control. Today every company wants you to rebuild yourself inside its account system. Another login, another profile, another set of permissions, another fragile dependency.

Domains could be part of the answer. A domain already implies a certain level of ownership, technical intent, and security practice. It gives people and organizations a stable place to stand. It could become a stronger layer for identity, trust, and authentication across services.

The larger point is simple: identity should belong to the person or organization, not the app.

Open source is another necessary ingredient. It is not magic, and it does not solve maintenance by itself. In fact, maintenance is the hard part. We need better ways to fund and support open tools over time.

But open source creates trust that does not depend only on a big company's brand. It lets people inspect, adapt, repair, and continue software. It gives small teams a way to compete. It gives users a way to believe that the exit door is real.

This matters even more with AI.

AI could make software much worse. Big companies might use it to generate more bloat, more dark patterns, more automated sales funnels, more junk features nobody asked for. They may not pivot fast enough to use AI well because their incentives are already too tangled up in the current model.

But AI could also make software smaller.

People laid off from large companies may start small consulting shops. A person or a tiny team might only need a few customers to be sustainable. They could build tailored line-of-business tools for restaurants, clinics, shops, studios, and local companies. Not giant platforms. Not bloated SaaS suites. Just the subset of features a business actually needs.

That is a hopeful path.

Instead of one huge product trying to serve everyone badly, we could have more small tools serving specific people well. Less bloat. Fewer fake platforms. More software shaped around the user's actual workflow.

That requires trust, though. Users will have to trust smaller teams. Smaller teams will need open source, good maintenance plans, clean data export, honest pricing, and security practices that are easy to understand. The answer cannot just be "trust me." It has to be built into the product.

Deshitified software has a few simple rules.

If the user can upgrade in one click, they should be able to downgrade in one click.

If the app stores the user's data, the user should be able to export it.

If the product changes pricing, the user should understand why.

If the software forces a workflow, that workflow should serve the user, not the vendor's sales process.

If the company makes a mistake, the user should not pay for it.

If the user makes a mistake, the product should help them recover.

This is not complicated. It is just less profitable in the short term than trapping people.

That is the real conflict. Deshitification is not mainly a technical movement. It is a decision-making movement. It asks builders, founders, designers, and product teams to stop treating normal human frustration as a business opportunity.

And it asks users to expect better.

We do not have to accept that every useful app will slowly become worse. We do not have to accept that every product becomes a subscription, every subscription becomes a trap, and every trap becomes "just how software works now."

Software can still be good. It can be small. It can be honest. It can be profitable without being exploitative. It can fit the user instead of forcing the user to fit it.

I just want software to stop treating normal people like they're trapped in a funnel.

Article FAQ

Article takeaways

What does deshitification mean here?
Deshitification means building software around the user's interest instead of trapping, upselling, hiding, segmenting, and squeezing them.
Is this an argument against paid software?
No. Companies need to make money, but pricing should be honest, proportional to value, and paired with easy export, downgrade, and exit paths.
What should builders and users do differently?
Builders should treat data sovereignty, fair pricing, and recoverable mistakes as product requirements. Users should expect software that respects their work and gives them real choice.