People use "proof of concept" and "prototype" like they're the same thing. They're not. One answers a technical question. The other answers a user question. Mixing them up wastes time and money.
A proof of concept asks: "Can we actually build this?" A prototype asks: "Should we actually build this?" Those are different questions, and they need different approaches.
Proof of concept: Can we build this?
A proof of concept is a technical test. It's built to answer one question: Is this technically possible? Can this technology work? Can these systems talk to each other? Can we solve this problem with code?
Proof of concepts are usually ugly, incomplete, and only work for one specific scenario. That's fine. They're not meant to be shown to users. They're meant to prove that something can be built.
Here's what a proof of concept looks like:
- A backend that connects to an API you've never used before, just to see if the connection works.
- A small script that processes data in a new way, just to verify the algorithm works.
- A single feature built with a new framework, just to confirm it's feasible.
- A database query that handles a million records, just to check if performance is acceptable.
Proof of concepts are built for developers and technical decision-makers. They answer technical risks. If the proof of concept fails, you know early that you need a different approach or different technology.
Prototype: Should we build this?
A prototype is a user-facing test. It's built to answer one question: Will people actually use this? Does this solve a real problem? Is this the right solution? Should we invest more time and money?
Prototypes look real enough that users can interact with them. They might not have all the features, but they show the core experience. They're meant to be tested with real people.
Here's what a prototype looks like:
- A clickable website that shows the main flow, even if the backend is fake.
- An app screen that lets people complete a key task, even if it doesn't save anything.
- A pricing page that calculates totals correctly, even if checkout doesn't work.
- A dashboard that shows realistic data, even if it's all sample data.
Prototypes are built for users and product decision-makers. They answer product risks. If the prototype fails, you know early that you need a different solution or different approach.
The key difference: What question are you answering?
The difference isn't about how polished something looks. It's about what question you're trying to answer.
Proof of concept: "Can we build this?" → Technical risk → Built for developers
Prototype: "Should we build this?" → Product risk → Built for users
If you're not sure whether something is technically possible, build a proof of concept. If you're not sure whether people will use it, build a prototype.
When to use a proof of concept
Use a proof of concept when you have a technical question that needs answering:
- You're using a new technology or framework and need to verify it works for your use case.
- You're integrating with a third-party API and want to confirm the integration is possible.
- You're solving a performance problem and need to test if your approach will scale.
- You're building something that hasn't been built before and need to prove feasibility.
- You're choosing between technical approaches and need to compare them.
Proof of concepts are fast and cheap. They're meant to fail quickly if something won't work. If your proof of concept succeeds, you know you can move forward. If it fails, you've saved yourself from building something impossible.
When to use a prototype
Use a prototype when you have a product question that needs answering:
- You're not sure if people will understand your product.
- You're testing whether a flow makes sense to users.
- You're validating whether a feature solves a real problem.
- You're comparing different approaches to see which one works better.
- You're trying to get feedback before building the full thing.
Prototypes are realistic enough that users can actually use them. They're meant to reveal whether your solution works for real people. If your prototype succeeds, you know you should build it. If it fails, you've saved yourself from building something nobody wants.
A concrete example: Building a new analytics dashboard
Let's say you want to build a new analytics dashboard that processes data in real-time. Here's how proof of concept and prototype would work:
Proof of concept: Can we process a million data points in real-time? You build a small script that connects to your data source, processes the data, and displays results. It's ugly, it only works for one scenario, but it proves the technology works. If it fails, you know you need a different approach.
Prototype: Should we build this dashboard? You build a realistic-looking dashboard with sample data. Users can click around, see charts, filter data, and understand what they're looking at. It doesn't process real data yet, but it shows the experience. If users don't understand it or don't find it useful, you know you need a different solution.
You might need both. First, prove the technology works. Then, prove users want it. But they answer different questions.
What happens when you mix them up
When you use a proof of concept to test with users, you get bad feedback. Users see something ugly and incomplete, and they focus on what's wrong instead of whether the idea works. You end up fixing things that don't matter instead of learning whether the product is right.
When you use a prototype to test technology, you waste time. You spend days making something look good when you just need to know if the API works. You polish something that might be impossible to build.
Know which question you're answering. Then build the right thing.
How to decide: Technical risk or product risk?
Before you build anything, ask yourself: What's the biggest risk?
If the biggest risk is technical ("Will this technology work?" "Can we integrate with this?" "Will this perform?"), build a proof of concept.
If the biggest risk is product ("Will people use this?" "Do they understand it?" "Does this solve their problem?"), build a prototype.
Sometimes you need both. But start with the riskiest question. If you're not sure if something is technically possible, prove that first. If you're not sure if people will use it, prototype that first.
Quick decision guide
Use this to decide what to build:
- Proof of concept if: You're testing technology, integration, performance, or feasibility. You're answering "Can we?"
- Prototype if: You're testing user experience, product-market fit, or solution validation. You're answering "Should we?"
- Both if: You have both technical and product risks. Build the proof of concept first, then the prototype.
Why this matters
Building the wrong thing wastes time and money. If you build a proof of concept when you need a prototype, you'll spend time on technical details that don't matter if users don't want the product. If you build a prototype when you need a proof of concept, you'll spend time polishing something that might be impossible to build.
Know what question you're answering. Build the right thing. Answer the right risk. That's how you move faster and build better products.
Proof of concept answers "Can we build this?" Prototype answers "Should we build this?" Both are useful. But they're not the same thing.