# The Feature We Refused to Build

> A client asked for a customer app. The audit found their buyers would never install it. What we built instead, and how to judge a feature before paying.

Canonical: https://www.ervandra.com/blog/the-feature-we-refused-to-build
Author: Ervandra Halim
Date: 2026-07-20

The most expensive line in a software budget is usually a feature nobody asked the customer about. This is the story of one we refused to build, and the framework for deciding what not to build that came out of engagements like it.

A distribution client came to us with a clear request and a healthy budget: a customer-facing mobile app, so their retail buyers could browse the catalog, place orders, and track deliveries. Competitors were "going digital". The owner wanted an app in both stores within six months.

We said no. Not to the goal, to the feature.

## The ask: an app their buyers would never install

The request assumed one thing: that hundreds of small retail buyers would install, learn, and keep using a dedicated app from one of their many suppliers.

The audit took under two weeks and consisted mostly of watching how orders actually arrived. They came through WhatsApp: photos of handwritten lists, voice notes, messages to a sales rep's personal number. The buyers were shop owners juggling dozens of suppliers. Not one of them had installed a supplier's app for ordering, and when asked directly, they said they would not. Their ordering tool was the chat they already lived in.

An app would have shipped on time, demoed beautifully, and died quietly. The problem was never the absence of an app. It was that WhatsApp orders arrived unstructured, got retyped by hand into the back office, and produced errors and delays at every step.

## How do you audit a feature before you build it?

A feature audit answers three questions with evidence, not opinions: who will actually use this and what do they use now, which business number changes if it works, and what is the cheapest way to test the riskiest assumption. We wrote the full method in [how small an MVP should be](/blog/mvp-how-small-should-you-start), but the short version fits in a sentence: observe current behavior first, because customers change tools far less willingly than owners hope.

Applied here: the users were busy shop owners with entrenched WhatsApp habits, the number that mattered was order-processing time and error rate, and the riskiest assumption was install-and-retention, which the interviews killed in week one. The audit did not tell us to build nothing. It told us where the same budget would actually produce a return.

> One strong feature idea is not a product strategy, and the feature a client first asks for is rarely the problem the audit finds, says Ervandra Halim.

## What we built instead

The replacement scope kept WhatsApp as the customer-facing surface, because that is where the customers already were, and fixed the structured-data problem behind it: a catalog the sales team could share as a link inside chat, an order intake flow that turned incoming messages into structured line items for confirmation, and an internal dashboard where the back office saw every order in one queue instead of six personal phones.

It cost roughly a third of the original app budget and shipped in a fraction of the time. Adoption was never a question, because nobody had to change how they ordered. The errors dropped because retyping disappeared, and the owner got the visibility that was the real motive behind the app idea all along. We have seen the same shape in other engagements, including [a wholesale distributor's ordering flow](/blog/wholesale-distributor-whatsapp-ordering-case-study) built on the same principle.

## Why saying no is a product decision, not a technical one

Nothing about the app was technically wrong. It was buildable, priceable, and deliverable. Refusing it was a product judgment: a call about users, behavior, and where money turns into outcomes. This is the half of the work that a pure builder role never covers, and it is why I now describe my role as chief product and technology officer rather than only the engineering side. Deciding what to build and how to build it are the same conversation, held with the same person accountable for both.

The uncomfortable version for owners: a vendor gets paid the same whether the feature succeeds or not, so a vendor has no reason to refuse. The economics of [choosing a partner instead of a vendor](/blog/choose-a-tech-partner-not-a-vendor) exist precisely for this moment, the one where the profitable answer and the correct answer point in different directions.

## When should you actually build the customer app?

Build the dedicated app when the audit says your customers' behavior supports it: when ordering frequency is high enough that a faster dedicated flow beats chat, when customers interact with you daily rather than weekly, or when you need capabilities chat genuinely cannot host, like account-specific pricing at scale or offline field work. Several of our clients have crossed that line and built apps that earn their place; [the build-versus-buy decision](/blog/build-vs-buy-software-decision-2025) walks through how we price that call.

The sequence is the whole lesson. Behavior first, structure second, dedicated surfaces last. Most SME digital budgets die from running that order in reverse.

If you want this kind of judgment applied to your own roadmap before the budget is spent, that is exactly what [a partnership](/partner) starts with: an audit, and the willingness to tell you what not to build.
