DEV Community

Cover image for The Difference Between a Product and Infrastructure
Drew Marshall
Drew Marshall

Posted on

The Difference Between a Product and Infrastructure

One of the most interesting realizations I've had while building software is that products and infrastructure are not the same thing.

At first, that sounds obvious.

Of course they're different.

But I think many builders—including myself—confuse the two more often than we realize.

Products Solve Immediate Problems

Products are what users see.

They're the websites.

The applications.

The dashboards.

The storefronts.

The experiences people interact with directly.

A product exists to solve a specific problem.

Need a blog?

Use a CMS.

Need to manage projects?

Use a project management tool.

Need an online store?

Use an ecommerce platform.

Products are tangible.

They're visible.

They're easy to explain.

Infrastructure Enables Products

Infrastructure is different.

Infrastructure exists so products can exist.

Users rarely think about infrastructure.

In fact, the best infrastructure is often invisible.

Nobody gets excited about electrical wiring when they buy a house.

Nobody buys a car because of the manufacturing equipment that produced it.

Nobody visits a website because of its deployment pipeline.

Yet all of those things are essential.

Infrastructure creates the conditions that make products possible.

The Builder's Trap

One trap I've noticed is that builders often focus entirely on products.

The product gets all the attention.

The product gets all the marketing.

The product gets all the praise.

Meanwhile, the infrastructure quietly determines whether the product succeeds.

Documentation.

Tooling.

Architecture.

Testing.

Deployment.

Workflows.

Contracts.

Design systems.

These things rarely appear in screenshots.

But they determine how sustainable a product becomes.

Why This Matters To Framework Authors

This distinction became much clearer to me while working on KiwiEngine.

Originally, I thought about modules like Juice, Seltzer, and Nectarine as products.

Today, I think about them more as infrastructure.

Their purpose isn't to be the destination.

Their purpose is to make building destinations easier.

That's a different mindset.

When you're building infrastructure, success isn't measured by how many features you have.

Success is measured by how many problems become easier to solve.

Infrastructure Compounds

One reason I've become increasingly interested in infrastructure is that it compounds.

A product solves a problem.

Infrastructure helps solve many future problems.

A design system helps every future interface.

A deployment system helps every future application.

A documentation system helps every future developer.

The value accumulates.

The investment continues paying dividends long after the original project is complete.

The Most Valuable Work Is Often Invisible

Many of the most important improvements in a project aren't visible to users.

Better architecture.

Better tooling.

Better workflows.

Better abstractions.

Better conventions.

These improvements rarely make for exciting screenshots.

But they often create more long-term value than another feature.

That's one reason infrastructure work can feel strange.

You're investing heavily in something that many people will never notice.

And that's okay.

Infrastructure isn't supposed to be the star of the show.

It's supposed to make everything else possible.

Building Both

The longer I build software, the more I realize that great products and great infrastructure need each other.

Products reveal real-world problems.

Infrastructure creates repeatable solutions.

Products generate feedback.

Infrastructure captures lessons.

Products deliver value.

Infrastructure scales value.

Neither is enough on its own.

The strongest systems have both.

Looking Beyond Software

This idea extends far beyond software.

Businesses have infrastructure.

Studios have infrastructure.

Farms have infrastructure.

Schools have infrastructure.

Every successful system eventually develops layers that support the visible work.

The mistake is assuming the visible layer is the entire system.

It rarely is.

Final Thoughts

One of the biggest shifts in my thinking has been realizing that not everything I build needs to be a product.

Sometimes the most valuable thing you can build is the infrastructure that allows future products to exist.

Products are what people see.

Infrastructure is what makes them possible.

Both matter.

But they're not the same thing.

And understanding the difference can change how you approach building entirely.

Top comments (0)