Product teardown vs reverse engineering for consumer apps

Mandy Sidana
Jun 13 · 3 min read

Product teardown and reverse engineering are essentially ways to analyze competitor products to extract design, structure, information architecture or implementation strategy. On the face of it, it may appear that both terms are used interchangeably. For most of the physical products (like a toaster or an airplane) these 2 things are actually quite similar. In typical NPD book will show similar diagrams for both the terms, showing a product with its underlying components and structure. However they mean different things for software applications. First, lets examine these 2 concepts individually.

Product teardown

Tearing down or dissembling / dissecting a product is done so that it helps in identifying component parts, benchmarking competition and understanding user experience the product delivers. Those are the common goals of any product teardown. A typical product teardown process looks like this:

Product teardown flow for software apps

Reverse Engineering

Reverse engineering also means breaking down a product to reveal it parts and functioning. Software reverse engineering (SRE) can be a simple process of de-compiling existing compiled code or getting original source code from an executable file with the intention of studying implementation. Reverse engineering is common process for making changes to legacy products where documentation is not available, or when vendor has ended support.

In the field of product management, reverse engineering is often used for communicating with web products that don't offer a public API (eg: WhatsApp, check this repo). A famous example that comes to mind is that of AirBnb reverse engineering Craigslist. Back when Airbnb started, they realized their target audience was active on Craigslist, so they automated thorugh code (using SRE) such that any new listing created on Airbnb would automatically be posted on Craglist as well (Also a textbook example of growth hacking). Ofcourse, they had to stop after a while when Craigslist took notice.

Now, the differences

  1. It must be apparent by now that while the purpose of product teardown is primarily competitive bench-marking (analysis motive), the purpose of software reverse engineering has shifted to executing functionality with applications where code level access is limited (execution motive).
  2. Teardown usually reveals the user experience, information architecture and activation flow. Reverse engineering can tell us about tech stack used, application architecture, implementation methodology etc.
  3. While product teardown is harmless, reverse engineering a propriety software can have legal implications.
  4. It is almost impossible for you to safeguard your own product against teardown or reverse engineering by competitors, although you can make reverse engineering a little harder by adding additional security features.

Do let me know you thoughts, experiences with reverse engineering or product teardowns in the comments below.

Mandy Sidana

Written by

Product manager. Building Analytics related technology products. Part time Startup consultant. Blockchain enthusiast.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade