Code Was Never the Moat

Code Was Never the Moat

If AI can build anything, what's left that's actually hard to replicate? Turns out it was never the software.

I’ve been building things with AI lately and having a recurring thought. Every time I spin up something that would’ve taken weeks a year ago - a dashboard, an API, a whole app - I catch myself thinking: why am I paying for software that does this?

A habit tracker is a database and a UI. An invoicing tool is a form that generates PDFs. A CRM is a spreadsheet with better styling. If I can describe what I want and have working software by the end of the afternoon, what exactly am I subscribing to?

The obvious conclusion is that a lot of SaaS products are in trouble. And some are. But the more I thought about it, the more I realized the interesting question isn’t which products AI can replicate. It’s which ones it can’t. And the answer reveals something about software that was always true but easy to miss.

The things you can clone

Let’s be honest about what AI makes trivially buildable now. CRUD apps, dashboards, internal tools, landing pages, browser extensions, CLI utilities, simple SaaS with auth and payments - all of it. If the entire value proposition of a product is “we wrote the code so you don’t have to,” that pitch just expired.

This is a huge category. Think about how many tools you pay for that are essentially thin wrappers around a database. A to-do app. A project tracker. A simple CRM. A note-taking app with markdown support. The code for these was never complicated. It was just expensive to write. That cost is collapsing, and the products that had nothing else going for them are going to feel it.

The things you can’t

But here’s where it gets interesting. There’s a whole class of products where the code is maybe 10% of the value. The other 90% is something AI can’t generate.

Network effects. You can clone Twitter’s codebase in a weekend. You cannot clone the fact that the people you want to follow are already there. Marketplaces, social platforms, communication tools - the code is the easy part. It was always the easy part. The users are the product, and users aren’t something you can pip install.

Data accumulated over years. Google Maps has street-level imagery of the entire planet. Spotify has behavioral data from billions of listening sessions. Bloomberg has decades of financial data with institutional trust baked in. You can build the software layer. You cannot conjure the dataset underneath it.

Trust and regulatory moats. You can code a payment processor. You cannot code PCI compliance, banking relationships, fraud detection models trained on billions of transactions, and the kind of institutional trust that takes a decade to earn. Healthcare, finance, insurance - regulated industries where the license matters more than the code.

Distribution and brand. You can build a better Notion tomorrow. Nobody will use it. Because the hard part was never the product - it’s getting millions of people to hear about it, try it, and make it part of their daily workflow. Brand awareness, word of mouth, content marketing that’s been compounding for years, integrations with tools people already use. Distribution is a slow game, and AI doesn’t speed it up.

Ecosystem lock-in. Salesforce isn’t successful because its code is great. It’s successful because thousands of enterprises have built their entire workflows around it, with thousands of integrations and a whole economy of certified consultants. The switching cost is the product.

Community and accumulated content. Stack Overflow, Reddit, Wikipedia, YouTube. You can build the platform in a weekend. You cannot build fifteen years of human-contributed content and the community norms that govern it.

The pattern

Look at that list and a pattern emerges. Everything AI can replicate is code. Everything it can’t is something that accumulates over time through human activity - trust, data, relationships, content, network density, regulatory standing.

Code is instantaneous. You can generate it in an afternoon. But trust builds over years. Communities grow organically. Data accumulates through millions of interactions. Regulatory approval takes patience, lawyers, and compliance teams. None of these things can be prompted into existence.

The products that are AI-proof aren’t technically impressive. They’re temporally impressive. They’ve been compounding something that takes time, and there’s no shortcut.

What this actually means

I think a lot of people are drawing the wrong conclusion from all this. The take I keep seeing is: “AI will destroy software businesses.” But that’s too broad. What AI actually destroys is the idea that code is a moat.

It was never a great moat anyway. Any well-funded competitor could always hire engineers and rebuild your product. The reason most didn’t bother wasn’t that it was impossible - it was that it wasn’t worth the investment when the market was already served. AI just drops the cost low enough that now it is worth it. For individuals, not just companies.

The businesses that survive are the ones that were never really selling code in the first place. They were selling the network, the data, the trust, the ecosystem, the compliance - the things that happen to be delivered through software but aren’t defined by it.

Stripe doesn’t sell payment processing code. It sells the relationship with every bank and card network, the fraud models trained on billions of transactions, and the trust that your money will show up. The API is just the interface.

So should you build instead of buy?

Sometimes, yes. If a product’s value is purely functional - it does a thing, and that thing can be described clearly - you should seriously consider building it yourself. The cost of a custom solution is now often lower than the annual subscription to a generic one.

Take something like an expense tracker. You’re paying ₹500/month for an app that stores your transactions, categorizes them, and shows you charts. That’s a database, some categorization logic, and a UI. You could describe exactly what you want and have a working version by dinner. Your version won’t have the polish, but it’ll do the one thing you actually care about, without the upsell to premium or the features you never asked for.

Now try that with Figma. You could build a drawing tool, sure. But Figma’s value isn’t the editor - it’s that your entire team is already on it, your design system lives there, every developer knows how to inspect it, and there are thousands of plugins built around it. The product is the ecosystem. You can’t replicate that by describing it to an AI.

That’s the dividing line. If the answer to “what am I actually paying for?” is functionality, build it. If the answer is access to a network, a dataset, or an ecosystem that took years to grow - keep paying.

The question isn’t “can AI build this?” It can build almost anything. The question is “what is this thing actually made of?” If the answer is code, it’s replaceable. If the answer is time, trust, data, or people - it’s not.

The thing I keep coming back to

Software was always just a medium. Like paper or concrete. What matters is what you build with it and what accumulates around it over time. The companies that confused the medium for the value are the ones in trouble. The ones that used software to compound something harder to replicate have nothing to worry about.

Code was never the moat. It just looked like one because it used to be expensive. Now that it’s cheap, we can finally see what the real moats were all along: the slow, human, unglamorous work of building trust, attracting communities, accumulating data, and earning the right to be the default.

None of that can be vibe-coded on a weekend. And that’s exactly the point.

If this resonated, I'd love to hear from you.

Connect on LinkedIn Send me an email